搜索

首页  >  问答  >  正文

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_u15822781 天前577

全部回复(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
  • 取消回复