所以正如问题所说...当用户单击网络浏览器中的链接时,有没有办法在后台运行 php artisan 命令?
例如,我想在我的应用程序中创建一个用于迁移迁移文件的按钮,因此当单击此按钮时:
<a href="/migrate" class="btn btn-primary">Migrate</a>
我想跑步
php artisan migrate
在背景中。
这有可能吗?
你当然可以!只需在您的应用程序中创建一条新路线routes\web.php
文件。然后你可以简单地调用Artisan::call()
方法。
例如,当您访问make-migration
路线,您要为发票表创建迁移文件。你可以这样做:
Route::get('make-migration', function () {
Artisan::call('make:migration', [
'name' => 'create_invoices_table',
'--create' => 'invoices',
]);
return 'Create invoices migration table.';
});
或者在您的情况下,如果您想运行迁移:
Route::get('migrate', function () {
Artisan::call('migrate');
return 'Database migration success.';
});
阅读有关以编程方式运行 Artisan 命令的更多信息here https://laravel.com/docs/5.3/artisan#programatically-executing-commands.
希望这有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)