简介:
Laravel的工匠命令行工具是管理Laravel应用程序各个方面的强大工具。虽然它主要是为命令行设计的,但在某些情况下,您可能想从Web浏览器触发工匠命令。在这篇博客文章中,我们将探讨如何使用Laravel的工匠立面实现这一目标。
先决条件:
在我们潜入浏览器中运行工匠命令之前,请确保您有以下先决条件:
- 安装了Laravel申请并设置。
- Laravel工匠司令部的基本知识。
- Web服务器环境(例如Apache或nginx)托管您的Laravel应用程序。
步骤1:导入工匠立面:
要启动,创建一个控制器,当您从浏览器触发工匠命令时,我们将执行逻辑,并在文件顶部导入工匠立面:
- 通过执行以下命令来创建控制器。
php artisan make:controller ExecuteArtisanCommingFromBrowserController --invokable
- 打开控制器导入工匠立面并在Invoke方法代码中编写给定代码。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Artisan;
public function __invoke(Request $request, $command)
{
$params = $request->all();
Artisan::call($command, $params);
$output = Artisan::output();
echo 'Output of given command: ' . $output;
}
步骤2:创建路线:
现在,在访问特定URL时在Laravel应用程序的路由/Web.php文件中创建路由以触发工匠命令。
Route::get('/run-command/{name_of_command}', ExecuteArtisanCommingFromBrowserController::class);
步骤3:通过浏览器访问命令:
现在,当您访问 /run-command /{name_of_command} url时,Laravel将执行指定的工匠命令。
http://your_web_url/run-command/migrate
在上述情况下,我们正在浏览器/run-command/migrate
执行迁移命令,将触发给定命令。以同样的方式,您也可以在浏览器中运行custom commands
并检查输出。
结论:
在这篇博客文章中,我们探索了如何使用Artisan立面从网络浏览器运行Laravel Artisan命令。对于特定用例,这可能是一个方便的功能,例如触发维护任务或数据库迁移或直接从用户友好的接口执行自定义命令。但是,请注意并确保在实施此功能时确保适当的访问控制以维持Laravel应用程序的安全性和完整性。
愉快的阅读ð