Команди Laravel Artisan підтримують параметри у вигляді масивів, що дозволяє ефективно обробляти кілька значень одночасно. Ця функція спрощує виконання партійних операцій та складних командних потоків.
Використовуйте нотацію з зірочкою для приймання кількох значень аргументів:
protected $signature = 'process:files {filename*}';
Для необов'язкових кількох аргументів поєднайте знак запитання зі зірочкою:
protected $signature = 'process:files {filename?*}';
Кілька значень опцій дотримуються аналогічної структури, що дозволяє використовувати повторні прапори під час виконання команди.
protected $signature = 'process:files {--format=*}';
Ось система публікації контенту, яка демонструє повну обробку параметрів з кількома значеннями:
class PublishContent extends Command
{
protected $signature = 'content:publish
{articles*: ID статей для публікації}
{--C|category=*: Категорії для включення}
{--platform=*: Платформи для публікації}
{--schedule=?: Графік публікації}';
public function handle()
{
$articleIds = $this->argument('articles');
$categories = $this->option('category');
$platforms = $this->option('platform');
$schedule = $this->option('schedule');
$this->line("Обробляється " . count($articleIds) . " статей для публікації");
foreach ($articleIds as $articleId) {
$article = Article::findOrFail($articleId);
if ($categories && !in_array($article->category_id, $categories)) {
$this->warn("Пропускаємо статтю {$articleId} - невідповідність категорії");
continue;
}
foreach ($platforms as $platform) {
$this->publishToPlatform($article, $platform, $schedule);
$this->info("Статтю {$articleId} опубліковано на {$platform}");
}
}
$this->info("Процес публікації успішно завершено");
}
private function publishToPlatform($article, $platform, $schedule = null)
{
$publishedAt = $schedule ? Carbon::parse($schedule) : now();
Publication::create([
'article_id' => $article->id,
'platform' => $platform,
'published_at' => $publishedAt,
'status' => 'published'
]);
}
}
Підтримка параметрів масиву перетворює прості команди на потужні інструменти для пакетної обробки, що ідеально підходять для адміністративних завдань та управління даними
```Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!
Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу