centos7中怎麼用shell腳本執行laravel的路由?
在執行php artisan migrate產生數據表之後,要產生一些初始數據,
所以寫了個InitControler,裡面就是一些方法,用於產生一些初始數據。
寫完後我要透過存取路由來存取這個控制器的方法,路由如下:
Route::get('init-users', 'InitController@initUsers');
Route::get('init-roles', 'InitController@initRoles');
//...
//...
//...
問題:
我想寫成一個shell腳本來存取這些路由,而不是手動把路由輸入到瀏覽器回車,應該怎麼寫這個shell腳本,請大神幫寫一下。
黄舟2017-05-16 16:49:35
當然透過自訂指令
php artisan make:console FooCommand
把程式碼邏輯寫在FooCommand.php,然後透過php artisan
執行,寫在shell腳本內
淡淡烟草味2017-05-16 16:49:35
可以利用shell模擬本地瀏覽的方式
curl http://localhost/XX/init-users
curl http://localhost/XX/init-roles
#....
#....
不過這個要求網站能夠被本地訪問
我想大声告诉你2017-05-16 16:49:35
我換個思路怎麼樣
就是不把初始化資料寫到C裡,而是寫到migration檔裡。
通常情況下,每個資料表會對應一個migration文件,可以把對於該表的初始化資料寫到一個private方法了,在migration本身的up方法後,用$this->xxx(),調用一下即可。
這樣有幾個好處:初始化資料會隨著migrate同時初始化,還有就是初始化資料整齊的劃分的對應的migration表中。
P.S. 因為每個migration還會對應Model
,你也可以用model初始化資料。不是一般的爽。