The digest of interesting news and materials from the world of PHP over the past two weeks, number 20 (06/18/2013 - 06/30/2013)
We bring to your attention another collection with links to news and materials.
Enjoy reading! ')
PHP 5.5
The long-awaited release of PHP 5.5! - A small review of new features is in habrapos and also here and here . According to the earlier decision , the 5.3.x branch is closed. The latest regular release will be 5.3.27. If necessary, security fixes will be released during the year, after which support 5.3 will be permanently suspended.
New features in PHP 5.5 - Nikita Popov gathered all the most significant innovations in his opinion in a convenient table with the author's designation and links to the corresponding RFCs.
Password Hashing API - Even the author of the API has already written about this more than once, but thanks for the good habrapos in Russian!
How to deal with 5.4 and 5.3? - PHP 5.3 release manager recommends happy and not wanting to change anything to users of version 5.3 to continue using it only installing updates to this branch in time. For users of PHP 5.4, the author recommends upgrading to 5.5.
New constant CLASS - In the post an example of where the use of a new constant is really necessary. In addition, several examples of “life” are in the original RFC .
The practical use of generators from PHP 5.5 - The author has implemented an analogue of the range() function using a generator, and demonstrates how much it has reduced memory consumption.
News and Releases
WordPress 3.5.2 Released - Important security fixes are included in the release, all users are strongly recommended to upgrade immediately.
Codeception 1.6.3 Released - An excellent testing tool release. Although minor, it contains some nice innovations, such as, for example, the module for Yii 2 and the Facebook module.
PHP QB 1.3 release - Updated alternative virtual machine for PHP, which, thanks to static typing allows for a number of specific tasks to get a significant increase in performance.
PHP Internals Book: Hashtables - A new chapter in the book is devoted to a hash table - a data structure that is commonly used in the implementation of the interpreter.
We pack the SĂĽmfony application into one file - continued - If in a previous post, Fabien wrote about the reasons and motives for encouraging him to package the application into a single file, this time he began to implement his plans. But it is worth noting that only the application will be packaged into one file, and the code of the framework and tools will remain in the vendor folder.
Understanding PHP Data Flows - Many developers ignore data flows , but this powerful tool can often make life easier. The post will be a good starting point for those who decide to deal with the threads. There are also good slides on threads .
Notifications on the Ubuntu desktop for PHPUnit tests - The author suggests not to look into the console while waiting for the tests to finish, but to set up notifications on the desktop that would signal the status of the testing process. There is a solution for Ubuntu, but using Growl you can do the same for OS X and Windows.
PhpStorm Video Tutorials - Almost 2 hours of screencasts, which cover both the basic features of the IDE, and some advanced uses. In addition, I recommend to familiarize with the useful habrapost , which describes how to enable auto-completion of SQL-code directly in the editor.
Updating PHP broke my data import - The author writes about a problem that he encountered when upgrading from PHP 5.3 to 5.4 - it’s not so easy to take and use LOAD DATA INFILE , but the author found a workaround.
From procedural to object-oriented PHP - The Big Tutorial, in which, using the simple Google API client as an example, the transition from the procedural to the object-oriented approach is justified and step-by-step.
Interview with Phil Sturgeon - PyroCMS, a member of PHP-Fig, previously a contributor to CodeIgniter and FuelPHP, and now Laravel, talks about his experience as a developer.
Basics of using Arduino from PHP - The author writes about the Firmata protocol and the use of PHP libraries that implement asynchronous I / O, such as React . The author has implemented his own similar library - Carica Io and gives an example of its use.
Google App Engine and Phalcon's plea - The post contains a small review of GAE, some information and recommendations on switching from regular hosting to GAE and a discussion on the unavailability of extensions. “Phalcon is more PHP6 than PHP6 itself” - the author writes and asks to vote by placing an asterisk for the corresponding request for a new feature for GAE .
Data Structures for PHP Developers - The first post in the series deals with the stack and the queue. Basic information, an example of the implementation of the corresponding objects in PHP and a little about the built-in implementation of the SPL. The post will be useful to young developers and those who are just starting.
Single location of resources in PHP - The author described in the post the advantages of specifying the location of resources in a single format and made a proposal in PHP-FIG for approval as a standard. The resource in this case can be a template file, a configuration file, an image, etc.
Accelerate your PHP application with OpCache - If you want to use OpCache but you don’t want to upgrade to 5.5 yet, then this little instruction for installing and configuring the extension is for you.
Backward compatibility - for losers - Anthony Ferrara, core developers of PHP considers that if backward compatibility is declared as one of the goals of your project, then you are a failure. He also urges to think more about direct compatibility, that is, try to envisage possible changes. Available habraperevod post.
Overview PuPHPet - About PuPHPet, which allows you to virtualize your work environment quickly and very easily, has been written more than once in a digest. Under the link a post with a small review. You can also take a closer look at Vagrant and Puppet here , and look at the nice Vagrant slides here .
Http requests - we all do it wrong - A good habrapost, in which the author points to a typical mistake of the creators of libraries - they ignore the ability to establish a permanent HTTP connection.
DependencyInjectionand DI-Containers - Good report slides from the 2013 Spanish Conference held in deSymfony . Slides of the remaining reports are available here , but unfortunately almost all of them are in Spanish.
Symfony 2 Overview - Videotape of the report on the framework's internals and the principles underlying it.
A framework is not an architecture - A videotape of a report telling why your favorite framework does not provide an application architecture and what the consequences are.
Devconf 2013 - Links to slides of reports, including those for PHP, have become available on the conference website.
PHP Object Injection Revisited - An excellent presentation on the security of data deserialization in PHP from the CONFidence conference held recently in Krakow.