2016-05-23 3 views
0

マイカスタムヘルパークラスはこれです:今、私はすべての内部で、このACLのクラスにアクセスする必要が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'; 
    } 

} 

プロジェクトコントローラーのので、 私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)これはOKですか、これを実現する良い方法はありますか?

2)コントローラごとに$acl = new \ACL();を実行しないと、グローバル変数を使用できますか? またはこのようなものACL::isAllowed('edit-details');

3)ブレードテンプレートで$acl->isAllowed('edit-details')の状態を正しく実行するにはどうすればよいですか?

ありがとうございます!

答えて

0

なぜクラスマップに追加してみませんか?

"autoload": { 
    "classmap": [ 
     "app/Classes" 
    ] 
} 

あなたのクラスをappの下の "/ classes"フォルダに入れて使用することができます。 ただ

composer dump-autoload 

を実行し、その後、あなたはlaravelで他のクラスと同じように使用することができます。