搜尋

首頁  >  問答  >  主體

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

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

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

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

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

phpcn_u1582phpcn_u15822782 天前582

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-05-16 16:49:35

    當然透過自訂指令

    php artisan make:console FooCommand

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

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:49:35

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

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

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

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 16:49:35

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

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

    回覆
    0
  • 取消回覆