私は、laravel 5.4で新しいカスタムクラスを作成して、ユーザータイプをチェックしようとしています。カスタムクラスとServiceProvider - Laravel 5.4
私は新しいフォルダアプリケーションの\ ItSolution、コードにこの新しいクラスを追加します。コード、私はすべての私のアプリでは、このクラスを使用したいので、私は新しいのServiceProviderをしよう
<?php
namespace App\ItSolution;
class DemoClass {
public function getPermission() {
switch(Auth::user()->user_type_id) {
case 1:
return 'admin';
break;
case 2:
return 'promoter';
break;
case 3:
return 'customer';
break;
default:
return false;
}
}
}
:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App;
class AuthLibServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
App::bind('democlass', function()
{
return new \App\ItSolution\DemoClass;
});
}
}
と私は同じフォルダのアプリの\ ItSolutionに私のクラスのための新しいファサードを作り、コード:その後
<?php
namespace App\ItSolution;
use Illuminate\Support\Facades\Facade;
class DemoClassFacade extends Facade {
protected static function getFacadeAccessor() { return 'democlass'; }
}
私はこの李を追加アプリ/ config.phpの
'aliases' => [
...
'DemoClass'=> App\ItSolution\DemoClassFacade::class,
]
'providers' => [
...
App\Providers\AuthLibServiceProvider::class,
]
でNEが、私は私のコントローラ DemoClassにDemoClassエイリアスを使用しようとすると、私はこのエラーを持っている:: getPermission():
クラス「のApp \のHttp \コントローラー\ DemoClass 'が見つかりません
どうすればいいですか、Thnaks。
はそれが仕事だ、どうもありがとう、しかし、あなたに使用する方法についてのアイデアを持っている関数を呼び出しますビューのファサード?ありがとうございました。 –
@MalekBenelouafi私はファサードの代わりにヘルパーを使用しているので、100%は確信していませんが、完全な名前空間 '\ DemoClass ::'でそれを使用しようとします。 –