如何使用laravel添加自定義門面和服務(wù)提供者

在使用phplaravel框架進(jìn)行項(xiàng)目開發(fā)時,我們經(jīng)常會用到laravel框架自帶的門面和服務(wù)提供者,下面我們就來探究一下如何編寫自己的門面和服務(wù)提供者(以下代碼基于laravel 5.2*編寫)。

一、創(chuàng)建自定義類

在app目錄下面建立一個utilsToolBar.php文件,這是我們的工具類,里面是我們定義的代碼。

<?phpnamespace  AppUtils;class ToolBar{    public function get()    {        return &#39;Hello my facade&#39;;    }}

二、創(chuàng)建服務(wù)提供者

在項(xiàng)目的根目錄下執(zhí)行命令:php artisan make:provider ToolServiceProvider創(chuàng)建一個服務(wù)提供者,并將我們剛才編寫的工具類注冊到容器里面。

<?phpnamespace  AppProviders;use IlluminateSupportServiceProvider;use AppUtilsToolBar;class ToolServiceProvider extends ServiceProvider{    /**     * Bootstrap the application services.     *     * @return void     */    public function boot()    {        //    }     /**     * Register the application services.     *     * @return void     */    public function register()    {        $this->app-&gt;bind('tool',function(){ ???????????return?new?ToolBar(); ???????}); ???}}

三、組冊服務(wù)提供者

在configapp.php文件中的providers屬性里面注冊我們剛添加的服務(wù)提供者,即添加:

AppProvidersToolServiceProvider::class,

四、創(chuàng)建門面類

在app目錄下面創(chuàng)建一個門面類,AppFacadesTool.php,目錄這里是我自己建立的,這個可以隨便創(chuàng)建。只要在后面注冊的時候一致就可以。代碼如下:

<?phpnamespace  AppFacades;use IlluminateSupportFacadesFacade;class Tool extends Facade{    protected static function getFacadeAccessor()    {        return &#39;tool&#39;;    }}

五、組冊門面類

在configapp.php的aliases屬性中追加下面的代碼:

'Tool'?=&gt;?AppFacadesTool::class,

完成以上步驟,我們可以調(diào)用測試一下創(chuàng)建的門面和服務(wù)提供者是否有效
在routesconsole.php里面添加下面的代碼:

Artisan::command('testFacade',function(){ ????dd(tool::get());});

然后在項(xiàng)目根目錄的終端里面,調(diào)用下面的命令:

php artisan testFacade

如果輸出 Hello my facade 則說明都注冊成功,接下來,我們可以在項(xiàng)目的任何地方使用該自定義門面啦。

在使用php的laravel框架進(jìn)行項(xiàng)目開發(fā)時,我們經(jīng)常會用到laravel框架自帶的門面和服務(wù)提供者,下面我們就來探究一下如何編寫自己的門面和服務(wù)提供者(以下代碼基于laravel 5.2*編寫)。

相關(guān)教程:laravel視頻教程

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享