Heim > Fragen und Antworten > Hauptteil
Wie verwende ich ein Shell-Skript, um Laravel-Routing in Centos7 auszuführen?
Nachdem PHP Artisan Migrate ausgeführt wurde, um die Datentabelle zu generieren, müssen einige Anfangsdaten generiert werden.
Also habe ich einen InitControler geschrieben, der einige Methoden zum Generieren einiger Anfangsdaten enthält.
Nachdem ich geschrieben habe, greife ich auf die Route dieses Controllers zu. Die Route lautet wie folgt:
Route::get('init-users', 'InitController@initUsers');
Route::get('init-roles', 'InitController@initRoles');
//...
//...
//...
Frage:
Ich möchte ein Shell-Skript schreiben, um auf diese Routen zuzugreifen, anstatt die Routen manuell in den Browser einzugeben und die Eingabetaste zu drücken. Bitte helfen Sie mir, es zu schreiben.
黄舟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初始化数据。不是一般的爽。