PHP dla programistów PERL
W tym rozdziale zostaną wymienione główne podobieństwa i różnice między PHP i PERL. Pomoże to programistom PERL bardzo szybko zrozumieć PHP i uniknąć typowych błędów.
Podobieństwa
Compiled scripting languages - Zarówno Perl, jak i PHP są językami skryptowymi, co oznacza, że nie są używane do tworzenia własnych, samodzielnych plików wykonywalnych przed wykonaniem.
Syntax- Podstawowa składnia PHP jest bardzo zbliżona do składni Perla i oba mają wiele wspólnych funkcji składniowych z C. Kod jest niewrażliwy na białe znaki, instrukcje są zakończone średnikami, a nawiasy klamrowe organizują wiele instrukcji w jeden blok. Wywołania funkcji rozpoczynają się od nazwy funkcji, po której następują rzeczywiste argumenty zawarte w nawiasach i oddzielone przecinkami.
Dollar-sign variables - Wszystkie zmienne w PHP wyglądają jak zmienne skalarne w Perlu: nazwa ze znakiem dolara ($) przed nią.
No declaration of variables - Podobnie jak w Perlu, nie musisz deklarować typu zmiennej PHP przed jej użyciem.
Loose typing of variables- Podobnie jak w Perlu, zmienne w PHP nie mają wewnętrznego typu innego niż wartość, którą aktualnie przechowują. Możesz przechowywać liczbę lub ciąg w zmiennej tego samego typu.
Strings and variable interpolation - Zarówno PHP, jak i Perl dokonują większej interpretacji łańcuchów w podwójnych cudzysłowach („string”) niż pojedynczych cudzysłowów („string”).
Różnice
PHP is HTML-embedded- Chociaż można używać PHP do dowolnych zadań, uruchamiając go z wiersza poleceń, częściej jest on połączony z serwerem WWW i używany do tworzenia stron WWW. Jeśli jesteś przyzwyczajony do pisania skryptów CGI w Perlu, główną różnicą w PHP jest to, że nie musisz już jawnie drukować dużych bloków statycznego kodu HTML za pomocą instrukcji print lub heredoc, a zamiast tego możesz po prostu napisać sam HTML poza blokiem kodu PHP.
No @ or % variables- PHP ma tylko jeden rodzaj zmiennej, która zaczyna się od znaku dolara ($). Dowolny typ danych w języku może być przechowywany w takich zmiennych, zarówno skalarnych, jak i złożonych.
Arrays versus hashes - PHP ma pojedynczy typ danych zwany tablicą, który pełni rolę zarówno hashy, jak i tablic / list w Perlu.
Specifying arguments to functions- Wywołania funkcji w PHP wyglądają bardzo podobnie do wywołań procedur w Perlu. Z drugiej strony, definicje funkcji w PHP zazwyczaj wymagają jakiejś listy formalnych argumentów, jak w C lub Javie, która nie jest csse w PERL.
Variable scoping in functions- W Perlu domyślny zakres dla zmiennych jest globalny. Oznacza to, że zmienne najwyższego poziomu są widoczne wewnątrz podprogramów. Często prowadzi to do rozwiązłego wykorzystywania globali w różnych funkcjach. W PHP zakres zmiennych w definicjach funkcji jest domyślnie lokalny.
No module system as such - W PHP nie ma rzeczywistego rozróżnienia między zwykłymi plikami kodowymi a plikami kodowymi używanymi jako biblioteki importowane.
Break and continue rather than next and last - PHP jest bardziej podobny do języka C i używa przerw i kontynuacji zamiast następnych i ostatnich instrukcji.
No elsif - Drobna różnica w pisowni: elsif Perla to elseif PHP.
More kinds of comments - Oprócz komentarzy jednowierszowych w stylu Perla (#), PHP oferuje komentarze wielowierszowe w stylu C (/ * comment * /) i jednowierszowe komentarze w stylu Java (// komentarz).
Regular expressions - PHP nie ma wbudowanej składni specyficznej dla wyrażeń regularnych, ale ma większość tych samych funkcji w funkcjach wyrażeń regularnych zgodnych z Perlem.