Console Bileşeni: CLI Komutları
Symfony Console Command sınıflarını kullanarak etkileşimli CLI araçları oluşturun.
Console Bileşeni: CLI Komutları, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Symfony Console Bileşeni Nedir?
Symfony Console, PHP ile seçeneklere, bağımsız değişkenlere, ilerleme çubuklarına ve renkli çıktıya sahip yapılandırılmış, test edilebilir CLI uygulamaları oluşturmanızı sağlar.
Kurulum
Bileşeni kurun.
$ composer require symfony/consoleKomut Oluşturma
Command sınıfını genişletin ve configure() ile execute() yöntemlerini geçersiz kılın.
<?php
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class GreetCommand extends Command
{
protected static string $defaultName = "app:greet";
protected function configure(): void
{
$this->setDescription("Greet a user")
->addArgument("name", \InputArgument::REQUIRED, "Name to greet")
->addOption("uppercase", "u", \InputOption::VALUE_NONE, "Uppercase output");
}
protected function execute(InputInterface $input, OutputInterface $output): int
{
$name = $input->getArgument("name");
if ($input->getOption("uppercase")) $name = strtoupper($name);
$output->writeln("Hello, $name!");
return Command::SUCCESS;
}
}Uygulama Kurulumu
Komutları bir Application içine kaydedin ve uygulamayı çalıştırın.
<?php
use Symfony\Component\Console\Application;
$app = new Application("MyApp", "1.0.0");
$app->add(new GreetCommand());
$app->run();Bağımsız Değişkenler ve Seçenekler
Bağımsız değişkenler konumsaldır (gerekli veya isteğe bağlı). Seçenekler adlandırılmış bayraklardır (--name=value veya -n value).
<?php
$this->addArgument("file", InputArgument::REQUIRED)
->addArgument("output", InputArgument::OPTIONAL, "Output file", "out.txt")
->addOption("verbose", "v", InputOption::VALUE_NONE, "Verbose output")
->addOption("format", "f", InputOption::VALUE_REQUIRED, "Output format", "json");Çıktı Yardımcıları
Çıktıyı yardımcı yöntemlerle biçimlendirin.
<?php
$output->writeln("<info>Success!</info>");
$output->writeln("<error>Error occurred</error>");
$output->writeln("<comment>Processing...</comment>");ProgressBar
Uzun süren görevler için bir ilerleme çubuğu görüntüleyin.
<?php
use Symfony\Component\Console\Helper\ProgressBar;
$bar = new ProgressBar($output, count($items));
$bar->start();
foreach ($items as $item) {
processItem($item);
$bar->advance();
}
$bar->finish();Tablo Yardımcısı
Tablosal verileri terminalde görüntüleyin.
<?php
use Symfony\Component\Console\Helper\Table;
$table = new Table($output);
$table->setHeaders(["ID", "Name", "Email"])
->setRows($userData)
->render();Soru Yardımcısı
Kullanıcıdan etkileşimli olarak girdi alın.
<?php
use Symfony\Component\Console\Question\Question;
$helper = $this->getHelper("question");
$question = new Question("Enter database password: ");
$question->setHidden(true);
$password = $helper->ask($input, $output, $question);Dönüş Kodları
execute() içinden Command::SUCCESS (0), Command::FAILURE (1) veya Command::INVALID (2) döndürün. CI sistemleri bu kodları kullanır.
Laravel'de
Laravel Artisan komutları Illuminate\Console\Command sınıfını genişletir ve configure() yerine $signature ile $description özelliklerini kullanır.
Özet
Command sınıfını genişleterek komutlar oluşturun. Bağımsız değişkenleri ve seçenekleri configure() içinde tanımlayın. Mantığı execute() içinde çalıştırın. İlerleme çubukları, tablolar ve kullanıcı istemleri için yardımcıları kullanın.
Hızlı Kontrol
Başarılı bir komutun execute() içinden hangi tamsayıyı döndürmesi gerekir?
Sıkça Sorulan Sorular
“Console Bileşeni: CLI Komutları” dersi ücretsiz mi?
Evet — “Console Bileşeni: CLI Komutları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Console Bileşeni: CLI Komutları” dersinde ne öğreneceğim?
Symfony Console Command sınıflarını kullanarak etkileşimli CLI araçları oluşturun. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Console Bileşeni: CLI Komutları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- HttpFoundation: İstek ve Yanıt
- DependencyInjection Container
- EventDispatcher: Gevşek Bağlı Olaylar
- Console Bileşeni: CLI Komutları