PHP для разработчиков PERL
В этой главе будут перечислены основные сходства и различия между PHP и PERL. Это поможет разработчикам PERL очень быстро понять PHP и избежать типичных ошибок.
Сходства
Compiled scripting languages - И Perl, и PHP являются языками сценариев. Это означает, что они не используются для создания собственных автономных исполняемых файлов перед выполнением.
Syntax- Базовый синтаксис PHP очень близок к синтаксису Perl, и оба имеют много синтаксических функций с C. Код нечувствителен к пробелам, операторы заканчиваются точкой с запятой, а фигурные скобки объединяют несколько операторов в один блок. Вызов функций начинается с имени функции, за которым следуют фактические аргументы, заключенные в круглые скобки и разделенные запятыми.
Dollar-sign variables - Все переменные в PHP выглядят как скалярные переменные в Perl: имя со знаком доллара ($) перед ним.
No declaration of variables - Как и в Perl, вам не нужно объявлять тип переменной PHP перед ее использованием.
Loose typing of variables- Как и в Perl, переменные в PHP не имеют внутреннего типа, кроме того значения, которое они в настоящее время содержат. Вы можете хранить число или строку в одном типе переменной.
Strings and variable interpolation - И PHP, и Perl лучше интерпретируют строки в двойных кавычках («строка»), чем строки в одинарных кавычках («строка»).
Отличия
PHP is HTML-embedded- Хотя PHP можно использовать для произвольных задач, запустив его из командной строки, обычно он подключается к веб-серверу и используется для создания веб-страниц. Если вы привыкли писать сценарии CGI на Perl, основное отличие PHP состоит в том, что вам больше не нужно явно печатать большие блоки статического HTML с помощью операторов print или heredoc, а вместо этого можно просто написать сам HTML вне блока кода PHP.
No @ or % variables- В PHP есть только одна переменная, которая начинается со знака доллара ($). Любой из типов данных в языке может храниться в таких переменных, будь то скалярные или составные.
Arrays versus hashes - PHP имеет единственный тип данных, называемый массивом, который играет роль как хешей, так и массивов / списков в Perl.
Specifying arguments to functions- Вызовы функций в PHP очень похожи на вызовы подпрограмм в Perl. С другой стороны, определения функций в PHP обычно требуют некоторого списка формальных аргументов, как в C или Java, которые не являются csse в PERL.
Variable scoping in functions- В Perl область видимости переменных по умолчанию - глобальная. Это означает, что переменные верхнего уровня видны внутри подпрограмм. Часто это приводит к беспорядочному использованию глобальных переменных в функциях. В PHP объем переменных в определениях функций по умолчанию является локальным.
No module system as such - В PHP нет реального различия между обычными файлами кода и файлами кода, используемыми как импортированные библиотеки.
Break and continue rather than next and last - PHP больше похож на язык C и использует break и continue вместо следующего и последнего операторов.
No elsif - Небольшая разница в написании: Perl elsif - это PHP elseif.
More kinds of comments - Помимо однострочных комментариев в стиле Perl (#), PHP предлагает многострочные комментарии в стиле C (/ * комментарий * /) и однострочные комментарии в стиле Java (// комментарий).
Regular expressions - PHP не имеет встроенного синтаксиса, специфичного для регулярных выражений, но имеет большую часть той же функциональности в своих «совместимых с Perl» функциях регулярных выражений.