在使用php的laravel框架進行專案開發時,我們經常會用到laravel框架自帶的門面和服務提供者,下面我們就來探究如何寫自己的門面和服務提供者(以下程式碼是基於laravel 5.2*編寫)。
在app目錄下面建立一個utils\ToolBar.php文件,這是我們的工具類,裡面是我們定義的程式碼。
<?phpnamespace App\Utils;class ToolBar{ public function get() { return 'Hello my facade'; }}
在專案的根目錄下執行指令:php artisan make:provider ToolServiceProvider建立一個服務提供者,並將我們剛才編寫的工具類別註冊到容器裡面。
<?phpnamespace App\Providers;use Illuminate\Support\ServiceProvider;use App\Utils\ToolBar;class ToolServiceProvider extends ServiceProvider{ /** * Bootstrap the application services. * * @return void */ public function boot() { // } /** * Register the application services. * * @return void */ public function register() { $this->app->bind('tool',function(){ return new ToolBar(); }); }}
在config\app.php檔案中的providers屬性裡面註冊我們剛剛新增的服務提供者,也就是新增:
App\Providers\ToolServiceProvider::class,
在app目錄下面創建一個門面類,App\Facades\Tool.php,目錄這裡是我自己建立的,這個可以隨便創建。只要後面註冊的時候一致就可以。程式碼如下:
<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{ protected static function getFacadeAccessor() { return 'tool'; }}
#在config\app.php的aliases屬性中追加下面的程式碼:
'Tool' => App\Facades\Tool::class,
#完成以上步驟,我們可以呼叫測試一下建立的門面和服務提供者是否有效
在routes\console.php裡面加入下面的程式碼:
Artisan::command('testFacade',function(){ dd(tool::get());});
然後在專案根目錄的終端裡面,調用下面的指令:
php artisan testFacade
如果輸出Hello my facade 則表示都註冊成功,接下來,我們可以在專案的任何地方使用該自訂門面啦。
在使用php的laravel框架進行專案開發時,我們經常會用到laravel框架自帶的門面和服務提供者,下面我們就來探究如何寫自己的門面和服務提供者(以下程式碼是基於laravel 5.2*編寫)。
相關教學:laravel影片教學
#以上是如何使用laravel添加自訂門面和服務提供者的詳細內容。更多資訊請關注PHP中文網其他相關文章!