0Pricing
PHP Academy · Ders

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/console

Komut 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

  1. HttpFoundation: İstek ve Yanıt
  2. DependencyInjection Container
  3. EventDispatcher: Gevşek Bağlı Olaylar
  4. Console Bileşeni: CLI Komutları
← PHP Academy Sayfasına Dön