Podczas wcześniejszych ćwiczeń w tym semestrze aplikacje uruchamiane z poziomu linii poleceń wykorzystywały wbudowane w PHP mechanizmy zmiennych $argc
oraz $argv
, za pomocą których pobierane były parametry potrzebne do uruchomienia.
Aplikacje konsolowe można także implementować w inny sposób, z wykorzystaniem dostępnych komponentów np. z ekosystemu Symfony. Symfony Console (https://symfony.com/doc/current/components/console.html) pozwala na implementację rozbudowanych aplikacji CLI, dodatkowo integrując się z innymi elementami ekosystemu, takimi jak np. kontener Dependency Injection.
Przykładowy kod:
<?php
// application.php
require __DIR__.'/vendor/autoload.php';
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
class FooCommand extends Command {
// ...
}
$application = new Application();
// ... register commands
$application->add(new FooCommand());
$application->run();
Uruchomienie:
php application.php
Bazując na twojej implementacji zadania Cipher lub Numbers, uruchom je w formie aplikacji konsolowej z użyciem Symfony Console.
Przygotuj skrypt application.php
rejestrujący komendę uruchamiającą kod twojego zadania oraz samą komendę, uwzględniając jej parametry wywołań.
Zapoznaj się z komunikatami generowanymi przez twoją aplikację przed i po zarejestrowaniu komendy.
Dokumentację do komponentu Symfony Console można znaleźć tu: