下面這篇文章主要給大家介紹了關於laravel如何透過建立自訂artisan make指令來新建類別檔案的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
Laravel透過Artisan提供了強大的控制台命令來處理非瀏覽器業務邏輯。
前言
本文主要跟大家介紹的是關於laravel透過建立自訂artisan make指令來新建類別檔案的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
我們在laravel開發時常用到artisan make:controller
等指令來新建Controller、Model、Job、Event等類別檔案。在Laravel5.2中artisan make
指令支援建立如下檔:
make:auth Scaffold basic login and registration views and routes make:console Create a new Artisan command make:controller Create a new controller class make:event Create a new event class make:job Create a new job class make:listener Create a new event listener class make:middleware Create a new middleware class make:migration Create a new migration file make:model Create a new Eloquent model class make:policy Create a new policy class make:provider Create a new service provider class make:request Create a new form request class make:seeder Create a new seeder class make:test Create a new test class
不過,有時候預設的並不能夠滿足我們的需求, 比方我們在專案中使用的Respository模式來進一步封裝了Model文件,就需要經常創建Repository類文件了,時間長了就會想能不能透過artisan make:repository
命令自動創建類文件而不是都每次手動建立。
系統自帶的artisan make
指令對應的PHP程式放在Illuminate\Foundation\Console目錄下,我們參考Illuminate\Foundation\Console\ProviderMakeCommand類別來定義自己的# artisan make:repository
指令。
一、建立命令類別
#在app\Console\Commands資料夾下建立RepositoryMakeCommand.php文件,具體程式如下:
namespace App\Console\Commands; use Illuminate\Console\GeneratorCommand; class RepositoryMakeCommand extends GeneratorCommand { /** * The console command name. * * @var string */ protected $name = 'make:repository'; /** * The console command description. * * @var string */ protected $description = 'Create a new repository class'; /** * The type of class being generated. * * @var string */ protected $type = 'Repository'; /** * Get the stub file for the generator. * * @return string */ protected function getStub() { return __DIR__.'/stubs/repository.stub'; } /** * Get the default namespace for the class. * * @param string $rootNamespace * @return string */ protected function getDefaultNamespace($rootNamespace) { return $rootNamespace.'\Repositories'; } }
namespace DummyNamespace; use App\Repositories\BaseRepository; class DummyClass extends BaseRepository { /** * Specify Model class name * * @return string */ public function model() { //set model name in here, this is necessary! } }############三、註冊命令類別###############將RepositoryMakeCommand加入App\Console\Kernel.php中#########
protected $commands = [ Commands\RepositoryMakeCommand::class ];#############測試指令#############好了, 現在就可以透過###make:repository# ##指令來創建repository類別檔案了#########
php artisan make:repository TestRepository php artisan make:repository SubDirectory/TestRepository##########以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! ######相關推薦:#########關於Laravel中重寫資源路由自訂URL的實作方法###############關於laravel 5.4中實作無限級分類的方法#####################
以上是如何透過laravel來創建自訂artisan make的命令新建類文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!