Как прописать команду через действие, не используя файл Console/Kernel.php, так как его нет в Laravel 11.
Я выполнил команду
composer requires laravel/tinker
php artisan vendor:publish --provider = "Laravel\Tinker\TinkerServiceProvider"
и в config/tinker.php:
'commands' => [
\App\Actions\SitemapGenerateAction::class,
],
вот действие
use AsAction, AsCommand;
public string $commandSignature = 'sitemap:generate';
public string $commandDescription = 'Generate the sitemap';
protected array $sitemapData;
public function handle(): void
{
...
}
public function asCommand(Command $command): void
{
...
}
public function asController(): array
{
...
}






Как прописать команду через действие без использования файла Console/Kernel.php, потому что в Laravel 11 его нет. Я выполнил команду
В laravel 11 kernal.php больше нет. И настройку нужно производить через bootstrap/app.php файл.
Планирование задач, зарегистрированная команда выполняется через routes/console.php в laravel 11.
Для получения более подробной информации вы можете перейти по этой ссылке, где вы можете определить свою команду в routes/console.php.
https://laravel.com/docs/11.x/artisan#closure-commands
А чтобы получить кристально четкое представление об изменениях, внесенных в Laravel 11, вы можете проверить эту ссылку.
https://laravel-news.com/laravel-11-directory-structure
Пройдя по двум вышеупомянутым ссылкам, я думаю, вы получите четкое представление о том, как вам следует зарегистрироваться и использовать command
Я даже ответил на аналогичный ответ на этой платформе. Вы также можете проверить это.
Альтернатива файлу Laravel Kernel.php
Спасибо за ответ. Это сработало: ->withCommands([ \App\Actions\SitemapGenerateAction::class, ])
Я опубликовал свой ответ. Пожалуйста, проверьте и дайте мне знать, если у вас возникнут какие-либо проблемы. Спасибо.