I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين

Zizaco Entrust هو حزمة (Package) قوية لـ Laravel بتسهل إدارة الأدوار (Roles) والصلاحيات (Permissions)، وده بيساعد في تطبيق تحكم دقيق في الوصول للمستخدمين داخل التطبيق بتاعك. في المقال ده، هنشرح كل حاجة عن Zizaco Entrust من البداية، ازاي تثبته، وتستخد...

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين
Reading Count: 311

كل حاجة عن Zizaco Entrust لإدارة الصلاحيات في Laravel – دليل شامل للمبتدئين

Zizaco Entrust هو حزمة قوية لـ Laravel بتسهل إدارة الأدوار (Roles) والصلاحيات (Permissions)، وده بيساعد في تطبيق تحكم دقيق في الوصول للمستخدمين داخل التطبيق بتاعك. في المقال ده، هنشرح كل حاجة عن Zizaco Entrust من البداية، ازاي تثبته، وتستخدمه خطوة بخطوة، مع أمثلة عملية توضح طريقة العمل.

المتطلبات اللازمة قبل التثبيت

إصدار PHP: لازم يكون 7.2 أو أعلى.

امتدادات PHP المطلوبة: لازم يكون عندك PDO و OpenSSL مفعّلين.

طريقة تثبيت Zizaco Entrust في Laravel

🔹 الخطوة 1: افتح مشروع Laravel في سطر الأوامر

cd path-to-your-laravel-project

🔹 الخطوة 2: تثبيت الحزمة باستخدام Composer

composer require zizaco/entrust

🔹 الخطوة 3: إضافة مزوّد الخدمة والـ Facade


'providers' => [
    Zizaco\Entrust\EntrustServiceProvider::class,
],
'aliases' => [
    'Entrust' => Zizaco\Entrust\EntrustFacade::class,
],
    

🔹 الخطوة 4: نشر ملف الإعدادات

php artisan vendor:publish --provider="Zizaco\Entrust\EntrustServiceProvider"

🔹 الخطوة 5: تشغيل الـ Migrations لإنشاء الجداول

php artisan migrate

كيفية استخدام Zizaco Entrust في Laravel

🔹 إنشاء الأدوار (Roles)


use App\Models\Role;
$adminRole = Role::create(['name' => 'admin']);
$editorRole = Role::create(['name' => 'editor']);
    

🔹 إنشاء الصلاحيات (Permissions)


use App\Models\Permission;
$createPostPermission = Permission::create(['name' => 'create-post']);
$editPostPermission = Permission::create(['name' => 'edit-post']);
    

🔹 ربط الصلاحيات بالأدوار


$adminRole->attachPermissions([$createPostPermission, $editPostPermission]);
$editorRole->attachPermissions([$editPostPermission]);
    

🔹 إسناد دور إلى مستخدم


use App\Models\User;
$user = User::find(1);
$user->attachRole($adminRole);
    

كيفية التحقق من صلاحيات المستخدم

🔹 داخل الكود


if ($user->can('create-post')) {
    echo "المستخدم يقدر ينشئ مقالات!";
} else {
    echo "المستخدم لا يملك صلاحية لإنشاء المقالات.";
}
    

🔹 داخل الـ Blade Templates


@role('admin')
    هذا النص يظهر فقط للمستخدمين اللي عندهم دور الأدمن.
@endrole

@permission('edit-post')
    هذا النص يظهر فقط للمستخدمين اللي عندهم صلاحية تعديل المقالات.
@endpermission
    

🔹 حماية الروابط باستخدام Middleware


Route::group(['middleware' => ['role:admin']], function () {
    Route::get('/admin/dashboard', function () {
        return view('admin.dashboard');
    });
});
    

🔚 

حزمة Zizaco Entrust من أقوى الأدوات اللي بتساعد في إدارة الأدوار والصلاحيات في Laravel، وبتسهل عملية التحكم في وصول المستخدمين للمحتوى. لو تبعت الخطوات اللي في المقال، هتقدر تطبّق نظام صلاحيات قوي في مشروعك بكل سهولة.

🔥 دلوقتي دورك! جرب تطبق الشرح


Share

Related posts

Jun 27, 2026 • 1 min read
Reading Count: 9
ثورة الـ Signals في جافا سكريبت: إزاي تدير بياناتك باحترافية من غير فريم وورك؟

ثورة الـ Signals في جافا سكريبت: إزاي تدير بياناتك باحترافية من غير فريم وورك؟ لو كنت مبرمج ويب، أكي...

Jun 27, 2026 • 1 min read
Reading Count: 12
تشغيل الذكاء الاصطناعي محلياً في المتصفح باستخدام WebGPU و Transformers.js

تشغيل الذكاء الاصطناعي محلياً في المتصفح باستخدام WebGPU و Transformers.js كثير مننا كمطورين ويب واج...

Jun 26, 2026 • 1 min read
Reading Count: 12
دليلك الشامل لفهم وحل مشاكل Hydration Errors في Next.js

دليلك الشامل لفهم وحل مشاكل Hydration Errors في Next.js أكيد مريت بالموقف ده قبل كده: بتفتح الكونسول...