Laravel 5.3 - 是否可以通过单击链接/按钮来运行php artisan命令

时间:2016-11-12 21:41:19

标签: php laravel-5.3

所以当问题说...当用户点击网络浏览器中的链接时,有没有办法在后台运行php artisan命令?

例如,我想在我的应用程序中创建一个用于迁移迁移文件的按钮,以便在单击此按钮时:

<a href="/migrate" class="btn btn-primary">Migrate</a>

我想跑

php artisan migrate

在后台。

这有可能吗?

1 个答案:

答案 0 :(得分:4)

当然可以!只需在routes\web.php文件中创建一个新路线即可。然后,您只需调用Artisan::call()方法即可。

例如,当您访问make-migration路由时,您希望为Invoices表创建迁移文件。你可以这样做:

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.';
});

详细了解如何以编程方式here运行Artisan命令。

希望这有帮助!