Мой пользовательский вспомогательный класс это:Laravel 5 - Пользовательский вспомогательный класс с глобальным доступом
расположен в приложение/начальной загрузки/ACL.php
class ACL {
public function __construct(){
//Get user from session
//Get user permission array
}
public function isAllowed($key){
return 'calling from ACL class';
}
}
Теперь мне нужно получить доступ к этому классу ACL внутри все проектных контроллеров. Итак, I require_once 'ACL.php';
в моем файле app.php.
Тогда внутри моего контроллера я могу сделать следующее:
class UserController extends Controller {
public function editDetails() {
$acl = new \ACL();
echo $acl->isAllowed('edit-details');
//below is the code to edit details
}
}
Этот код работает, но я чувствую, что должно быть Laravel 5 правильный способ сделать это. Я хочу знать:
1) Является ли этот подход ОК или есть лучший способ достичь этого?
2) Не делая $acl = new \ACL();
в каждом контроллере, могу ли я использовать глобальную переменную? Или что-то вроде этого ACL::isAllowed('edit-details');
3) Как я могу запустить $acl->isAllowed('edit-details')
условие в шаблонах Blade правильно?
Большое спасибо!