PHPDevs

Projekt obiektowy z Composerem i Twigiem? Czytaj!

Tablice, stringi, pliki - kolejny projekt > Lekcja 1

Projekt: lista zadań!

Jak wspomniałem we wstępie, zrobimy sobie listę zadań (tzw. TODO). Nasz program będziemy obsługiwali z poziomu konsoli. Czy będzie to najbardziej użyteczna aplikacja na świecie? Raczej nie, ale jako przykład do nauki powinna sprawdzić się dobrze.

Założenia

Skoro mamy do dyspozycji tylko tekstową konsolę, to musimy wymyślić sobie jakieś komendy, które będą wykonywały określone operacje. Mój pomysł na całość jest taki:

Zawsze na początku pojawia się php gdyż uruchamiamy w ten sposób interpreter PHP - jeśli nie wiesz o co chodzi, wróć do jednej z pierwszej lekcji na temat uruchamiania kodu. skrypt jest przykładową nazwą pliku z kodem aplikacji. "Testowe zadanie" zostało zapisane w cudzysłowie, aby zostało potraktowane jako jedna wartość. Dalsza rozbudowa w trakcie pracy niewykluczona - pierwotnie jednak mamy takie oto proste założenia.

Zaczynamy!

Od razu w głowie pojawia się pierwszy problem: jak tu odczytać te nasze "argumenty", które chcemy przekazać do skryptu? To na szczęście nie jest nic trudnego. Dostaniemy je automatycznie w predefiniowanej tablicy $argv. Jak czytamy w dokumentacji pierwszą wartością jaką zawsze dostaniemy będzie nazwa uruchamianego pliku. Raczej do niczego nam się ona nie przyda, ale przyjmujemy ten fakt do wiadomości.

Stwórzmy nowy plik, na przykład index.php (warto obrać sobie od razu taki nawyk, bo serwery www domyślnie szukają właśnie pliku o takiej nazwie). Spróbujmy teraz dla testu wyświetlić sobie zawartość $argv.

<?php
var_dump($argv);

Działa. I faktycznie jako pierwszy element tablicy mamy nazwę pliku, a dalej nasze podane parametry.

Pora przygotować prosty szkielet aplikacji. W momencie uruchomienia potrzebujemy sprawdzić, czy podany został jakiś argument - innymi słowy: czy oczekiwana jest jakaś akcja (na przykład dodane czy usunięcie zadania). Czyli tak w zasadzie na ten moment potrzebujemy ustalić, czy indeks numer 1 w tablicy $argv istnieje. Dlaczego 1? Bo, jak na pewno pamiętamy, indeksy liczymy od zera, a pierwszy (0) jest nazwą uruchamianego pliku. Do sprawdzenia czy dana zmienna lub element tablicy istnieje możemy użyć konstrukcji isset. Łącząc to z if i dokładając testowe echo uzyskamy coś takiego:

<?php
if (isset($argv[1])) {
    echo $argv[1];
} else {
    echo 'list';
}

Mam nadzieję, że te kilka linijek jest zrozumiałe. isset zwraca true lub false, w zależności od tego czy element o indeksie 1 istnieje w tablicy $argv. I również w zależności od tego wyświetlamy napis "list" lub to, co zostało przekazane.

Na razie tylko tyle, ale będziemy dalej rozwijać i przebudowywać nasz projekt w kolejnych lekcjach.

Powrót Następna lekcja

Udostępnij

  • Facebook
  • Twitter
  • Google+

Komentarze