1. Go to this page and download the library: Download cubekit/laracan 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/ */
cubekit / laracan example snippets
class Ability implements AbilityContract {
public function initialize($user, Closure $can)
{
$user = $user ?: new App\User;
// NOTE: Laracan does not provide any roles behavior! Assume that some
// package already installed for this, like Entrust
if ($user->hasRole('admin')) {
// Admin can edit posts and comments unconditionally
$can('edit', 'Post');
$can('edit', 'Comment');
return;
}
// User can edit a post only if he is its author
$can('edit', 'Post', ['author_id' => $user->getKey()]);
$can('edit', 'Comment', function($comment) use ($user)
{
// User can edit a comment only if he is its author
// and comment is not older than 15 minutes
return (
$comment->author_id == $user->getKey() &&
$comment->created_at >= Carbon::now()->subMinutes(15)
);
});
}
}
class EditPostRequest {
public function rules()
{
// ...
}
public function authorize()
{
$post = Post::find( $this->route('post') );
return can('edit', $post);
}
}