فرعوني
جاري التحميل...

# الوظائف

تحتاج معظم المشاريع المتوسطة / الكبيرة إلى وظائف المستخدمين ، لذلك نقدم لك الطريقة السهلة.

# الإنشاء

يمكنك إنشاء وظيفة متعدد اللغات ، ويمكنك استخدام الطريقة التي تفضلها.

1use Pharaonic\Laravel\Users\Models\Roles\Role;
2 
3// Code (string)
4// Title (string or array)
5// Permissions (array of permissions codes)
6// Locale (string) (only with string title)
7 
8// Way 1
9Role::set('admin', 'Administrator');
10 
11// Way 2
12Role::set('admin', 'Administrator', [], 'en');
13 
14// Way 3
15Role::set('admin', [
16 'ar' => ['title' => 'إداري'],
17 'en' => ['title' => 'Administrator']
18], ['post.create', 'post.update', 'post.delete']);

# الصلاحيات

إضافة صلاحيات إلى الوظيفة.

1use Pharaonic\Laravel\Users\Models\Roles\Role;
2 
3$role = Role::findByCode('admin');
4$role->permit('post.create', 'post.edit', 'post.delete');

# التضمين

هذه هي الطريقة التي يمكنك بها تضمين الوظيفة في Model المستخدم الخاص بك.

1namespace App\Models;
2 
3use Pharaonic\Laravel\Users\Traits\HasRoles;
4 
5class User extends Authenticatable
6{
7 use HasRoles;
8}

# entrust

منح المستخدم وظيفة واحدة أو أكثر.

1$user->entrust('DevOps', 'Developer');
2// Returns Boolean

# entrusted

تحقق مما إذا كان المستخدم لديه كل هذه الوظائف.

1$user->entrusted('DevOps');
2// Returns Boolean

# entrustedAny

تحقق مما إذا كان المستخدم لديه أحد هذه الوظائف.

1$user->entrustedAny(['Developer', 'Musician']);
2// Returns Boolean

# distrust

عدم الثقة في المستخدم من تولي هذه الوظائف.

1$user->distrust('Musician');
2// Returns Boolean

# distrusted

تحقق مما إذا كان المستخدم ليس لديه كل هذه الوظائف.

1$user->distrusted(['CEO', 'CFO']);
2// Returns Boolean

# distrustedAny

تحقق مما إذا كان المستخدم ليس لديه أحد هذه الوظائف.

1$user->distrustedAny(['CEO', 'CFO', 'Musician']);
2// Returns Boolean

# syncRoles

امسح كل وظائف المستخدم وامنحه هذه القائمة.

1$user->syncRoles('CEO', 'Developer', 'Musician');
2// Returns Boolean

# Middleware

يمكنك استخدام middlewares لتقييد الـ route.

1Route::middleware('entrusted:CFO')->group(...);
2Route::middleware('entrustedAny:CFO,CEO')->group(...);

# الصفات

  • rolesList

# توجيهات Blade

  • entrusted
  • entrustedAny
  • distrusted
  • distrustedAny