PHP

Un article de Haypo.

Retour à la page précédente Retour aux langages de programmation

Avertissement

Cet article est en cours de rédaction. Sa qualité est pauvre et son intérêt limité. Revenez un peu plus tard (ça peut être long), et lisez un autre article en attendant ;-) Si vous êtes impatient de lire la suite, secouez un peu son auteur :o)

PHP est un langage de programmation interprété écrit par Rasmus Lerdorf en 1994, au départ pour tracer les personnes lisant son CV :-)

Sommaire

[modifier] Raisons pour ne pas utiliser PHP

  • Ma sélection de l'article I’m sorry, but PHP sucks :
    • Il y 3 versions incompatibles de PHP (4.3, 4.4 et 5.0)
    • Le test « (string)"false" == (int)0 » est vrai
    • Les réferrences sont une bidouille horrible dans PHP4
    • PHP n'est pas thread-safe
    • Support d'Unicode pitoyable
  • Utiliser une variable indéfinie n'est pas une erreur (un avertissement est néanmoins généré)
  • PHP incite à mélanger code PHP et HTML
  • « $score = 139.0; $send_email = (-2.0 < $score) and ($score < 5.0); » donne $send_email=true car le code équivaut en fait à « $score = 139.0; $send_email = (-2.0 < $score); if ($send_email) $score < 5.0; ». Bien sûr, « $score < 5.0 » n'est pas une instruction (ou dumoins ne sert à rien).
  • BEAUCOUP d'autres raisons dans l'article PHP in contrast to Perl

Exemples de code autorisés pourtant sacrément erronés :

$foo = null;
echo $foo->bar->foobar;
$foo = null;
echo $foo->bar[0]->foo["bar"];

Code ne générant aucun avertissement

function plop(&$x) { echo $x; }
plop($existepas);

Les tests suivant affichent « bool(true) » :

var_dump('x' == 0);
var_dump('x' >= 0);

Le tableau magique : la lecture d'une valeur créer une entrée au lieu de lancer une exception :-/

$foo = Array();
$bar =& $foo[42];

Je vous conseille d'utiliser error_reporting(E_ALL); au moins en cours du développement pour voir directement toutes les erreurs.

[modifier] Divers

  • Concaténation de deux tableaux (Array) : array_merge()

[modifier] Articles connexes

[modifier] Liens externes

Sécurité :

Récupérée de « http://www.haypocalc.com/wiki/PHP »