PHP code example of hchs / judge

1. Go to this page and download the library: Download hchs/judge library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hchs / judge example snippets


'models' => [
	'users' => 'App\User',  // set relation and namespace
	'fakeusers' => 'Hchs\Judge\Permission\FakeUser', // only for testing
]    

	

	namespace App;

	use Illuminate\Notifications\Notifiable;
	use Hchs\Judge\Permission\AuthEloquent as Authenticatable;

	class User extends Authenticatable
	{
	    use Notifiable;

	    /**
	     * The attributes that are mass assignable.
	     *
	     * @var array
	     */
	    protected $fillable = [
		'name', 'email', 'password',
	    ];

	    /**
	     * The attributes that should be hidden for arrays.
	     *
	     * @var array
	     */
	    protected $hidden = [
		'password', 'remember_token',
	    ];
	}

	// use Role && Permission
	use Hchs\Judge\Permission\Role;
	use Hchs\Judge\Permission\Permission;

	// create Role & Permission
	$role = Role::create([
		    'name' => 'admin',
		    'display_name' => 'Admin',
		    'description' => 'You are Admin'
	]);
	$permission = Permission::create([
		    'name' => 'create',
		    'display_name' => 'Create Something',
		    'description' => 'You can create something',
	]);
	// Role attachPermission
	$role->attachPermission($permission);

	$user = User::find(1);

	// attachRole
	$user->attachRole($role);

	$user->hasRole('admin');  //true
	$user->hasRole('basic');  //false
	$user->hasPermission('create'); //true
	$user->hasPermission('delete'); //false

	// detachRole
	$user->detachRole($role);

	$user->hasRole('admin');  //false
	$user->hasRole('basic');  //false
	$user->hasPermission('create'); //false
	$user->hasPermission('delete'); //false