The digest of interesting news and materials from the world of PHP over the past two weeks, number 9 (01/12/2013 - 01/25/2013)
We bring to your attention another collection with links to news and materials.
Enjoy reading! ')
News and Releases
PHP 5.5.0 Alpha4 released - The PHP development team has announced the release of the fourth alpha version of PHP 5.5. This release includes both bug fixes and a couple of new features, including: getting the class name using the “class” keyword (ClassName :: class), read more here ; Added DateTimeImmutable class. Full list of changes here . It is worth noting that this is the last alpha release of PHP 5.5 - from now on, work begins on beta and the first one is expected on February 7th. In the beta versions, new features will not be added, so at this point you can already say with certainty what PHP 5.5 will be like. Accessors we will not see .
PHP 5.4.11 and PHP 5.3.21 releases - The current stable branches have also been updated. Releases include bug fixes only. A list of changes can be found here .
Laravel 4 Beta 1 - A lot has already been written about the fourth version of the framework, and finally the first beta. The documentation is here , the code is here .
Php
Functional programming in PHP - Excellent post, which describes in detail the current state of the implementation of the functional paradigm in the PHP language. An example is given of using the calculation of the total cost of a shopping cart in a functional style.
Traits: good or bad? - Traits have already been written about a lot . Another article in the piggy bank, which discusses the advantages and disadvantages of the new features of the language PHP.
Why 2013 is the year of PHP? - Last year for PHP was definitely successful and productive, and in this post, the author first talks about the problems that PHP developers face and makes a forecast for 2013.
Parsing and executing PHP code in Haskell , 2 - He described a very interesting experiment of the author in two posts. It tells in detail about all the key moments of creation: in the first part about parsing PHP code, and in the second about, actually, execution. The resulting tool code is available on Github .
Study materials
“Publisher-Subscriber” implementation on Websockets, Ratchet, Silex and Redis - A small but interesting post about creating a real-time web service that can be used via web-sites. The author had a task to implement some backend for an iOS application, and the obvious solution seemed to create a REST service, but this solution had a number of drawbacks. As a result, the author implemented a simple tool for processing requests through web sockets using Ratchet, Redis and Silex. Code and demo .
Psr? - A good post with an overview of all PSR standards. Recently there has been a lot of criticism in the direction of the PSR, especially after the adoption of the PSR-3, but there are enough posts in defense, such as this one and especially this one .
Autoload path depth insanity - In his post, the author expresses thoughts about the PSR-0 standard and, in connection with the advent of Composer, talks about the need to make changes to the standard. The list of offers is attached.
Programming with Anthony - Mediator - The active member of the PHP community Anthony Ferrara continues its series of video programming. In the next video, he talks about the Mediator design pattern. Other videos from the series are available here .
Node.js for PHP developers , 2 , 3 , 4 - If you are a PHP developer and think about switching to something else, then think about Node.js. In a series of articles, the author writes about the basic principles of development on Node.js, and, which is especially useful, supplements the posts with examples of how to implement the same things on Node.js and PHP.
MongoDB's aggregation framework - In version 2.2, MongoDB would present an aggregation framework that provides powerful and flexible features for solving data aggregation problems. The post is an introduction to the agregation framework with examples in PHP.
Running ahead in matters of security by observing the neighbors - Write the author's post was fired by a news about a critical vulnerability discovered recently in Ruby On Rails ( detailed analysis ). After research, the author discovered a similar vulnerability in the YAML parser in symfony. And although the error has already been fixed , no one is insured, so the author calls to be vigilant and closely monitor the errors found, not only in the tools used by you, but also in their counterparts.
LUCID - Series of articles in the development according to the principles of LUCID : L - logging, U - unit testing, C - configurability, I - isolation, D - documentation.
PHP password hashing - Repetition is the mother of learning. Another guide to secure password hashing. And here is a tutorial on using Zend \ Crypt from ZF2 for solving the same tasks.
Zend Framework 2 Event Manager - A good guide to getting started with Event Manager in ZF2. The author first reviews the underlying principles: the observer design pattern, event-oriented programming. It then deals with specific examples of using the event manager.
It is so easy to take and hide information - Habrapost, which describes the implementation of the steganographic algorithm for PHP - hide information directly in the image.
Using PDO - Detailed tutorial on PDO . If you are still using the Mysql extension, then it's time to forget about it and start using modern database access interfaces.