Accesseurs et PHP

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
50
Mois de parution
octobre 2010
Domaines


Résumé
PHP, http://www.php.net, est l'un des langages de programmation les plus populaires pour la réalisation de sites web dynamiques. Cet engouement est sans nul doute lié d'une part au faible coût de sa mise en œuvre (PHP est disponible chez quasiment tous les hébergeurs) ; et d'autre part par le laxisme autorisé par le langage (il faut l'avouer, PHP est boulet-friendly, alors que d'autres langages sont tout bonnement inutilisables si on n’a pas un minimum de connaissances en développement).Ainsi, si le langage montre des limitations aberrantes (comme l'obligation de passer par une variable intermédiaire pour récupérer le énième élément d'un tableau renvoyé par une fonction) ; si le style est ridicule (certains éléments sont sensibles à la casse, d'autres non) ; si les modifications de l'API tiennent du guignolesque (par exemple la fonction is_a() rendue obsolète en PHP 5.0.0 et réintégrée en 5.3.0) ; si on nous promet que PHP est un langage orienté objet, alors que dans les faits, on est en droit d'avoir de sérieux doutes (par exemple, les tableaux n'ont pas de méthode) ; et si mettre le doigt sur un de ces éléments dans le bug-tracker ne permet que d'avoir une réponse du type « ça n'est pas un bug, c'est un feature », relisez ce qui est indiqué dans la documentation, voire arrêtez de nous donner des cours de LALR, PHP reste une plate-forme très populaire pour la réalisation de sites internet.

1. Problématique

L'un des problèmes souvent rencontrés avec les langages dynamiques tels que PHP est l'utilisation d'une variable non déclarée, suite à une erreur de frappe ou un peu de refactoring. Considérons l'exemple ci-dessous :

$foo = "Hello";

$bar = $Foo . "World";

print $bar;

L'utilisation de la variable $Foo, non initialisée ne pose pas de problème particulier à l'interpréteur, et à moins d'avoir défini le rapport d'erreurs E_NOTICE (désactivé par défaut), il n'y aura pas d'avertissement de PHP. Je fais ici une parenthèse sur l'error_reporting : une bonne habitude est de le positionner à E_ALL | E_STRICT pour le développement, cela permet d'une part d'éviter les étourderies, et d'autre part (comme la plupart du temps, on en revient à faire du PHP car on fait évoluer un blob plus ou moins immonde) cela permet de voir quelle confiance on peut avoir en ce code.

Ce problème d'utilisation de variables non initialisées devient encore plus fréquent lorsque...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Scikit-image, une alternative à OpenCV pour la reconnaissance d'images

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Une fois n'est pas coutume, nous allons découvrir et utiliser une alternative à OpenCV, scikit-image communément appelé skimage. Nous implémenterons la reconnaissance d'images avec la méthode des histogrammes de gradients orientés (HOG : Histogram of Oriented Gradients) associée à une machine à vecteurs de support (SVM : Support Vector Machine). Cette méthode est employée dans bien des applications telles que l'automobile, pour la détection de piétons [1].

Zerologon pour les (mots de passe) nuls

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

ZeroLogon est LA vulnérabilité de septembre 2020 qui expose de nombreux domaines Windows à une compromission totale via un scénario d’exploitation réaliste et fiable. Mais ce qui donne à Zerologon ses lettres de noblesse c’est qu’elle repose essentiellement sur la mauvaise utilisation d’un algorithme cryptographique permettant de réaliser une attaque à clair choisi particulièrement astucieuse. Zoom sur la vulnérabilité la plus passionnante de la rentrée 2020 !

Jenkins, Docker et Kubernetes pour déployer en CI/CD

Magazine
Marque
Linux Pratique
Numéro
123
Mois de parution
janvier 2021
Domaines
Résumé

La mise en place d'un processus d'intégration continue et de déploiement continu nécessite une réflexion sérieuse avant de la concrétiser dans la vraie vie d'une organisation. La diversité des méthodes agiles, la panoplie des outils DevOps disponible sur le marché et le choix de l'infrastructure sous-jacente pour créer vos projets nécessitent de prendre du recul avant de se lancer. Découvrez dans cet article comment créer un CI/CD.