是否可以通过点击链接/按钮来运行php工匠命令


Is it possible to run php artisan command by clicking on a link/button

所以正如问题所说…是否有一种方法来运行PHP工匠命令在后台,当用户点击在web浏览器中的链接?

例如,我想做一个按钮在我的应用程序迁移迁移文件,所以当这个按钮被点击:

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

我想运行

php artisan migrate
在背景。

这是可能的吗?

当然可以!只需在routes'web.php文件中创建一个新路由。然后你可以简单地调用Artisan::call()方法。

例如,访问make-migration路由时,需要为invoice表创建一个迁移文件。你可以这样做:

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命令的信息。

希望这有帮助!