Quand on regarde l'historique du PHP, on remarque que le langage était à l'origine une collection de scripts PERL (Practical Extraction and Report Language... ou comme certains s'amusent à le nommer : Pathetically Eclectic Rubbish Lister) regroupés sous le nom PHP (Personal Home Page Tools). Il n'est pas surprenant que le PHP en ait conservé des traces dans son évolution.
Le choix du symbole $ pour préfixer les noms de variables constitue l'exemple le plus évident. Contraîtrement au Perl, PHP utilise ce symbole pour tous les types de variables, sans distinction. Dans le Perl, ce qu'il y a d'original est qu'une variable est préfixée d'un symbole différent selon le type.
$ est utilisé pour les variables scalaires:
$number = 100;
$string = "Code 18";
$pi = 3.141592;
@ représente les variables de type liste (array) indexés par un nombre:
@levels = ("Sysadmin", "Manager", "User");
// $levels[0] correspond à Sysadmin
% est réservé aux tableaux associatifs indexés par des clés textuelles (hash):
%config = (
type = "pgsql",
host => "localhost",
database => "postgres",
username => "myuser",
password => "*****"
);
// $config['type'] aura comme valeur "pgsql"
Une particularité intéressante à Perl est qu'à la lecture du code, on a une bonne idée de ce que peuvent contenir les variables puisqu'elles sont en parties typées, contrairement à PHP qui n'est pas strict du tout.
Un autre point important à noter est que des variables de types différents peuvent porter le même nom :
$list = "1,2,3";
@list = (1,2,3);
%list = ("a" => 1, "b" => 2, "c", 3);
Pour en revenir à l'héritage qu'à légué Perl à PHP, on remarquera que la syntaxe suivante est valide dans les deux langages :
$firstname = 'code 18';
// placer une variable à l'intérieur d'une chaîne de caractères
$str = "Mon nom est $firstname.";
echo $str;
Simple constatation :-)
J'ai assisté à plusieurs débats où les participants argumentaient en faveur de leur langage préféré. Les similitudes sont nombreuses et chose certaine, les deux langages sont excessivement puissants. La syntaxe du Perl est certainement la plus archaïque, mais mon avis est que Perl excellee dans l'adminstration de systèmes tandis que PHP se surpasse dans le domaine du web. Il suffit de choisir le bon outil pour faire le bon travail. À chacun sa spécialité...
mardi 17 février 2009
0 réponse à "Variables de Perl et de PHP"
S'abonner à :
Publier des commentaires (Atom)