centos7中怎麼用shell腳本執(zhí)行l(wèi)aravel的路由?
在執(zhí)行php artisan migrate產(chǎn)生數(shù)據(jù)表之後,要產(chǎn)生一些初始數(shù)據(jù),
所以寫了個(gè)InitControler,裡面就是一些方法,用於產(chǎn)生一些初始數(shù)據(jù)。
寫完後我要透過存取路由來(lái)存取這個(gè)控制器的方法,路由如下:
Route::get('init-users', 'InitController@initUsers');
Route::get('init-roles', 'InitController@initRoles');
//...
//...
//...
問題:
我想寫成一個(gè)shell腳本來(lái)存取這些路由,而不是手動(dòng)把路由輸入到瀏覽器回車,應(yīng)該怎麼寫這個(gè)shell腳本,請(qǐng)大神幫寫一下。
當(dāng)然透過自訂指令
php artisan make:console FooCommand
把程式碼邏輯寫在FooCommand.php,然後透過php artisan
執(zhí)行,寫在shell腳本內(nèi)
可以利用shell模擬本地瀏覽的方式
curl http://localhost/XX/init-users
curl http://localhost/XX/init-roles
#....
#....
不過這個(gè)要求網(wǎng)站能夠被本地訪問
我換個(gè)思路怎麼樣
就是不把初始化資料寫到C裡,而是寫到migration檔裡。
通常情況下,每個(gè)資料表會(huì)對(duì)應(yīng)一個(gè)migration文件,可以把對(duì)於該表的初始化資料寫到一個(gè)private方法了,在migration本身的up方法後,用$this->xxx(),調(diào)用一下即可。
這樣有幾個(gè)好處:初始化資料會(huì)隨著migrate同時(shí)初始化,還有就是初始化資料整齊的劃分的對(duì)應(yīng)的migration表中。
P.S. 因?yàn)槊總€(gè)migration還會(huì)對(duì)應(yīng)Model
,你也可以用model初始化資料。不是一般的爽。