Une classe singleton en PHP 5.3+ J'utilise de manière intensive la plupart des fonctionnalités de PHP 5.3, et plus particulièrement les fermetures et les espaces de nommage, notamment dans le cadre d'Atoum, mon framework de tests unitaires, puisque ce dernier est spécifiquement dédié à la version 5.3 du langage.
Pourtant, il y en avait une que je n'avais pas encore mise en œuvre, essentiellement parce que l'occasion ne s'était pas encore présentée. Il s'agit du LSB, aka Late State Binding. L'occasion s'est cependant présenté il y a peu dans le cadre du développement d'Atoum, puisque j'ai eu besoin d'utiliser le patron de conceptionsingleton, pour lequel l'utilisation du LSB est particulièrement adaptée. Avant PHP 5.3, l'implémentation naïve d'un singleton ne fonctionnait pas comme attendu : L'exécution de ce code génère en effet l'erreur suivante : PHP Fatal error: Cannot instantiate abstract class singleton in /usr/home/fch/tmp/singleton.php on line...
La raison de cette erreur est très simple. News Archive - 2012. 03-May-2012 There is a vulnerability in certain CGI-based setups (Apache+mod_php and nginx+php-fpm are not affected) that has gone unnoticed for at least 8 years.
Section 7 of the CGI spec states: Some systems support a method for supplying a [sic] array of strings to the CGI script. This is only used in the case of an `indexed' query. This is identified by a "GET" or "HEAD" HTTP request with a URL search string not containing any unencoded "=" characters. So, requests that do not have a "=" in the query string are treated differently from those who do in some CGI implementations. A large number of sites run PHP as either an Apache module through mod_php or using php-fpm under nginx. If you are using Apache mod_cgi to run PHP you may be vulnerable. To fix this, update to PHP 5.3.12 or PHP 5.4.2. We recognize that since CGI is a rather outdated way to run PHP, it may not be feasible to upgrade these sites to a modern version of PHP. Develop, Deploy and Manage PHP Applications in the Cloud.
Zend cloud solutions offer affordable pricing (hourly or monthly) Cloud computing solutions level the playing field for developers and small teams.
For a low monthly investment, you have access to infrastructure that was previously only available to the shops with deep pockets. A full Zend Server environment is available starting as low as $29 a month with Amazon Web Services. Plus, as your application takes off, you can grow your Zend cloud image and only pay for what you need. Blazing performance for your PHP apps Zend Server provides multiple technologies for improving application response times and minimizing resource utilization. Elastic PHP-based Cloud Solution Built-in App Insights Zend Server powers thousands of web applications both on premise and in the cloud. ZeroMQ, la super bibliothèque réseau. Une fois n’est pas coutume, voici un article particulièrement technique.
Le développement d’applications connectées est quelque chose d’à la fois important et délaissé. Important car cela constitue la base de l’informatique moderne, et que c’est une chose qui est enseignée dans tous les cursus informatiques. Délaissé car l’écrasante majorité des applications connectées actuelles sont basées sur le protocole HTTP. L’omniprésence du HTTP est globalement une très bonne chose : Pas besoin de redévelopper la roue (les serveurs Apache et IIS sont là depuis longtemps, Nginx et Lighttpd cherchent à prendre la relève), les développements sont facilités (le protocole est simple, son utilisation est rapide), et un très grand choix d’applications est accessible de manière unifiée (il suffit de voir toutes les API REST disponibles).
Cela a créé un écosystème applicatif dynamique. Mais il y a aussi un inconvénient : Il devient difficile de sortir de ce modèle. ZeroMQ Principes de base Exemple simple.