centos7中怎麼用shell腳本執行laravel的路由?
phpcn_u1582
phpcn_u1582 2017-05-16 16:47:35
0
3
591

centos7中怎麼用shell腳本執行laravel的路由?

在執行php artisan migrate產生數據表之後,要產生一些初始數據,
所以寫了個InitControler,裡面就是一些方法,用於產生一些初始數據。
寫完後我要透過存取路由來存取這個控制器的方法,路由如下:

Route::get('init-users', 'InitController@initUsers');
Route::get('init-roles', 'InitController@initRoles');
//...
//...
//...

問題:
我想寫成一個shell腳本來存取這些路由,而不是手動把路由輸入到瀏覽器回車,應該怎麼寫這個shell腳本,請大神幫寫一下。

phpcn_u1582
phpcn_u1582

全部回覆(3)
黄舟

當然透過自訂指令

php artisan make:console FooCommand

把程式碼邏輯寫在FooCommand.php,然後透過php artisan 執行,寫在shell腳本內

淡淡烟草味

可以利用shell模擬本地瀏覽的方式

curl http://localhost/XX/init-users
curl http://localhost/XX/init-roles
#....
#....

不過這個要求網站能夠被本地訪問

我想大声告诉你

我換個思路怎麼樣
就是不把初始化資料寫到C裡,而是寫到migration檔裡。
通常情況下,每個資料表會對應一個migration文件,可以把對於該表的初始化資料寫到一個private方法了,在migration本身的up方法後,用$this->xxx(),調用一下即可。
這樣有幾個好處:初始化資料會隨著migrate同時初始化,還有就是初始化資料整齊的劃分的對應的migration表中。

P.S. 因為每個migration還會對應Model
,你也可以用model初始化資料。不是一般的爽。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板