usermp / artisan-api
artisan-api 是一个 Laravel 扩展包,允许您通过 API 路由执行 Artisan 命令。
v1.0.2
2024-09-10 06:13 UTC
Requires
- php: ^8.1
- laravel/framework: ^10.0
- sentry/sentry-laravel: *
This package is auto-updated.
Last update: 2024-09-10 06:15:04 UTC
README
artisan-api 是一个 Laravel 扩展包,允许您通过 API 路由执行 Artisan 命令。这个包简化了管理您的 Laravel 应用 Artisan 命令的过程,通过提供一个简单易用的 API 接口。
安装
要安装 artisan-api 扩展包,您可以使用 Composer。在您的终端中运行以下命令
composer require usermp/artisan-api
安装完扩展包后,您需要在 Laravel 应用中注册 ArtisanServiceProvider。为此,将服务提供者添加到 config/app.php
文件中的 providers 数组中
'providers' => [ // Other service providers... Usermp\ArtisanApi\ArtisanServiceProvider::class, ],
接下来,发布配置文件以自定义包的设置。运行以下命令
php artisan vendor:publish --provider="Usermp\ArtisanApi\ArtisanServiceProvider" --tag="artisan-api-config"
这将在 config/artisanapi.php
创建一个配置文件。
配置
配置文件允许您自定义 artisan-api 扩展包的行为。以下是默认配置
return [ 'with_key' => env('ARTISAN_WITH_KEY', false), 'api_key' => env('ARTISAN_API_KEY', 'YOUR KEY'), 'allowed_commands' => [ // General commands 'list', 'help', // Make commands 'make:controller', 'make:model', 'make:migration', 'make:seeder', 'make:factory', 'make:middleware', 'make:request', 'make:resource', 'make:command', 'make:event', 'make:listener', 'make:policy', 'make:provider', 'make:test', 'make:job', 'make:rule', 'make:mail', 'make:notification', // Migrations 'migrate', 'migrate:rollback', 'migrate:refresh', 'migrate:reset', 'migrate:status', // Seeder 'db:seed', 'db:wipe', // Cache 'cache:clear', 'cache:forget', 'config:clear', 'config:cache', 'route:cache', 'route:clear', 'view:cache', 'view:clear', // Queue 'queue:work', 'queue:listen', 'queue:restart', 'queue:table', 'queue:flush', // Maintenance 'down', 'up', // Others 'optimize', 'serve', 'schedule:run', 'schedule:work', // Add other commands as needed ], ];
with_key
:确定是否需要 API 密钥来执行命令。默认为false
。api_key
:当with_key
设置为true
时使用的 API 密钥allowed_commands
:允许通过 API 执行的 Artisan 命令数组。
使用方法
通过 API 运行 Artisan 命令 您可以使用 api/artisan
路由来运行任何 Artisan 命令。请求应为 POST 请求,并将命令及其参数包含在请求体中。
示例请求
POST /api/artisan Content-Type: application/json { "command": "migrate:fresh --seed", }