décembre
2007
Le langage PHP est un langage de programmation flexible, permissif et facile à appréhender. Les principes et contraintes de conception généralement imposées dans les langages à vocation industrielle (C/C++, Java, etc.) ne s’appliquent pas nécessairement avec PHP, on peut les appliquer si on le désire, mais souvent ils sont ignorés pour plusieurs raisons. Le programmeur est seul maître à bord, il choisit la précision avec laquelle il souhaite intégrer un paradigme, que ce soit impératif, […]
décembre
2007
Chris Shifflet interview Terry Chay, pour une petite pile de rappels concernant la sécurité en phase de développement, d’analyse ou de conception. Les règles sont toujours les mêmes : Ne faites pas confiance aux utilisateurs De manière plus générale, n’apportez aucune confiance aux données entrant dans votre programme, quelque soit l’entrée (get, post, server, env, cookie ….) Filtrez toute entrée, échappez toute sortie Méfiez vous des injections de commandes, des injections SQL Attention lors de […]
novembre
2007
Le code d’erreur E_STRICT n’est actuellement pas inclu dans E_ALL. Il le sera en PHP5.3 et PHP6, mais il sera sindé en 2. E_STRICT repèrera toutes les erreurs de conception dans le code, et devrait générer une erreur de type E_ERROR, soit fatale (arrêt immédiat du script) En revanche, le nouveau E_DEPRECIATED lui, génèrera des E_NOTICE, au sujet de comportements dépérciés et amenés à disparaitre. Voici un concept interessant, regardez : <?php class a { […]
novembre
2007
Actuellement, si vous utilisez mysql sous PHP, par un des 3 moyens classiques de le faire : l’extension mysql, mysqli ou pdo_mysql, alors PHP utilise la librairie système libmysql : la Mysql Client Library; soit l’API qu’offre mysql pour des programmes principalement écrits en C. Mais une nouvelle librairie système va voir le jour, la mysqlnd : Mysql Native Driver. Ce driver a été entièrement re-développé, pour PHP, et fera son apparition avec PHP5.3, et […]
novembre
2007
Voici un petit rappel : n’affichez jamais PHP_SELF sans la sécuriser (htmlentities). De manière plus générale, n’affichez jamais, de manière brute, une donnée externe, quelque soit sa source. Tout ce qui vient de l’exterieur, est susceptible d’etre altéré; tout : $_SERVER[], $_COOKIE[], $_FILES[] aussi, $_GET[],POST[](REQUEST[] donc) bien entendu, $_ENV est plus discutable.(Sans oublier l’environnement ajascent : base de données, programmes, réseau et flux …) Un code du style <?php echo $_SERVER[‘PHP_SELF’] ?> autorise une injection […]
novembre
2007
Avant de commencer, je précise que mysql est une extension vieillissante dans PHP. PHP5 a vu apparaitre l’extension mysqli (i = improved), qui je rappelle offre un double style ( objet et procédural fonctionnel ), permet de profiter des nouveautés de mysql4.1 (et plus) : transactions, requêtes préparées; et de plus, elle s’avère plus rapide et efficace que sa vieille soeur mysql. PDO permet aussi d’interfacer efficacement avec une base de donnée mysql (entre autres). […]
novembre
2007
J’ai trouvé un petit test de vitesse (benchmark) récent des méthodes magiques de PHP5. Sont testées __get(), __set(), __call() ; mais aussi call_user_func() ainsi que sa soeur call_user_func_array(). Je vous livre une partie de la conclusion : (…)All of PHP 5’s advanced object-oriented features have a cost, and sometimes that cost is non-trivial. Does that mean we should avoid using them? Of course not! Magic methods, iterators, ArrayAccess, and the like make solving certain types […]
octobre
2007
Developpez regorge décidément d’articles super cools. En voici un qui vient de sortir, il rappelle, ou pour certains, explique, ce qu’est UML, à quoi ça sert, et pourquoi l’utiliser.. ? En tant que formateur, je suis surpris que la plupart de mes stagiaires connaissent Merise, mais n’ont absolument aucune notion d’UML, jamais entendu parlé pour certains. Et pourtant, ce langage de modélisation standardisé, permet de décrire de manière visuelle et indépendante de tout langage, le […]
septembre
2007
Je viens de commencer à lire un bouquin que j’ai acheté il y a quelques temps déja : Object Oriented Php Je dois dire qu’il est merveilleux. Il ne m’apprend rien de technique, mais pour le moment il me rafraichit grandement la mémoire sur certains points des plus intéressants, qui me tiennent beaucoup à coeur : PHP a-t-il vraiment besoin d’un modèle objet ? L’évolution du modèle objet de PHP4 à PHP5 en détails (le […]
septembre
2007
C’est un sujet largement abordé lors du passage de la certification, il n’est pas complexe, mais il y a des notions qu’il faut maitriser. PHP est faiblement typé. Sans répéter la documentation officielle, je vais rester concis et peut-être en faire gamberger certains, je vais faire un point général sur les règles de transtypage(appelé aussi ‘cast’) en PHP, et sur les comparaisons. l’opérateur == compare 2 entités, pour cela il faut qu’elles soient du même […]
Commentaires récents
Archives
- novembre 2010
- août 2010
- juillet 2010
- juin 2010
- mai 2010
- avril 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- juin 2009
- mai 2009
- avril 2009
- mars 2009
- février 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007