PHP pour les développeurs PERL

Ce chapitre énumère les principales similitudes et différences entre PHP et PERL. Cela aidera les développeurs PERL à comprendre PHP très rapidement et à éviter les erreurs courantes.

Similitudes

  • Compiled scripting languages - Perl et PHP sont des langages de script, ce qui signifie qu'ils ne sont pas utilisés pour produire des exécutables autonomes natifs avant leur exécution.

  • Syntax- La syntaxe de base de PHP est très proche de celle de Perl, et les deux partagent beaucoup de fonctionnalités syntaxiques avec C. Le code est insensible aux espaces, les instructions se terminent par des points-virgules et les accolades organisent plusieurs instructions en un seul bloc. Les appels de fonction commencent par le nom de la fonction, suivi des arguments réels entre parenthèses et séparés par des virgules.

  • Dollar-sign variables - Toutes les variables en PHP ressemblent à des variables scalaires en Perl: un nom avec un signe dollar ($) devant lui.

  • No declaration of variables - Comme en Perl, vous n'avez pas besoin de déclarer le type d'une variable PHP avant de l'utiliser.

  • Loose typing of variables- Comme en Perl, les variables en PHP n'ont pas de type intrinsèque autre que la valeur qu'elles détiennent actuellement. Vous pouvez stocker un nombre ou une chaîne dans le même type de variable.

  • Strings and variable interpolation - PHP et Perl interprètent davantage les chaînes entre guillemets ("string") que les chaînes entre guillemets simples ("string").

Différences

  • PHP is HTML-embedded- Bien qu'il soit possible d'utiliser PHP pour des tâches arbitraires en l'exécutant à partir de la ligne de commande, il est plus généralement connecté à un serveur Web et utilisé pour produire des pages Web. Si vous avez l'habitude d'écrire des scripts CGI en Perl, la principale différence en PHP est que vous n'avez plus besoin d'imprimer explicitement de gros blocs de HTML statique en utilisant des instructions print ou heredoc et que vous pouvez simplement écrire le HTML lui-même en dehors du bloc de code PHP.

  • No @ or % variables- PHP n'a qu'un seul type de variable, qui commence par un signe dollar ($). Tous les types de données du langage peuvent être stockés dans de telles variables, qu'elles soient scalaires ou composées.

  • Arrays versus hashes - PHP a un seul type de données appelé tableau qui joue le rôle à la fois de hachages et de tableaux / listes en Perl.

  • Specifying arguments to functions- Les appels de fonction en PHP ressemblent à peu près aux appels de sous-programmes en Perl. Les définitions de fonction en PHP, par contre, nécessitent généralement une sorte de liste d'arguments formels comme en C ou Java qui n'est pas le csse en PERL.

  • Variable scoping in functions- En Perl, la portée par défaut des variables est globale. Cela signifie que les variables de niveau supérieur sont visibles à l'intérieur des sous-programmes. Souvent, cela conduit à une utilisation imprudente des globaux à travers les fonctions. En PHP, la portée des variables dans les définitions de fonction est locale par défaut.

  • No module system as such - En PHP, il n'y a pas de réelle distinction entre les fichiers de code normaux et les fichiers de code utilisés comme bibliothèques importées.

  • Break and continue rather than next and last - PHP ressemble plus au langage C et utilise break and continue au lieu de l'instruction suivante et dernière.

  • No elsif - Une petite différence d'orthographe: l'elsif de Perl est le elseif de PHP.

  • More kinds of comments - En plus des commentaires sur une seule ligne de style Perl (#), PHP propose des commentaires multilignes de style C (/ * comment * /) et des commentaires sur une seule ligne de style Java (// commentaire).

  • Regular expressions - PHP n'a pas de syntaxe intégrée spécifique aux expressions régulières, mais a la plupart des mêmes fonctionnalités dans ses fonctions d'expressions régulières "compatibles Perl".