The digest of interesting news and materials from the world of PHP No. 41 (May 2014)
After a short break, the PHP digest is back in business! Your attention is a selection with links to news and materials.
Enjoy reading!
News and Releases
- PHPNG - Developers introduced a new generation PHP interpreter. And it all started with the message of Dmitry Stogov in php.internals and the corresponding branch in the repository. An analysis of the interpreter's work when executing real applications showed that the performance problem lies in the methods of working with memory and organizing the storage of data structures. That is why PHPNG is an optimized Zend Engine that implements new data structures . The refactoring has already allowed to increase productivity by 10-30% in real applications. PHPNG will probably form the basis of PHP 5 ++, but for now this is only the beginning and the project is developing very dynamically.
More information about PHPNG can be heard firsthand in the author’s report at the upcoming DevConf 2014 conference - “Give your PHP for pumping - PHPNG is the new generation engine” . - Beta releases of PHP 5.6.0: beta 2 and beta 3 - Updates contain only a set of fixes, which means that the final release remains to be expected very briefly. Nevertheless, another beta and a couple of release candidates are expected, but for now you can see a list of new features or watch a ten-minute video with their demonstration .
- PHP releases: 5.5.12 , 5.5.13 , 5.4.28 , 5.4.29 - Regular updates of the current branches of the interpreter. They contain a number of fixes, including security issues, such as the PHP-FPM vulnerability , which allows a local user with access to the php-fpm UNIX socket, created by default with 0666 permissions, to execute arbitrary PHP code with the rights of a working FastCGI process pool .
- New PHP on Heroku - HHVM and Hack support has been added on the most popular Heroku cloud platform.
- Beta version of Mooha - node interface for PHP is available - Last year on Habré there was a post about an interesting project Mooha , which according to the author was supposed to become a visual designer of PHP applications. The test version of the tool is now available to everyone.
- Apigility 1.0.0 - The first stable release of a tool for automatically creating RESTful applications based on Zend Framework 2.
- Laravel Forge - At a recent Laracon conference, the author of the Laravel framework introduced the Forge tool, which Taylor himself described as "the PHP instant cooking platform in the cloud of your choice." Forge allows you to deploy an application with Nginx 1.6, PHP 5.5, MySQL / Postgres, Redis, Memcached, Beanstalk in any popular cloud hosting service in a matter of minutes. Available extensions for Forge , tutorials , as well as a series of detailed screencasts on using Forge . For convenience, you have to pay $ 10 per month.
- Symfony 2.5.0 release - See full changelog here .
- Laravel 4.2 release - From now on, the framework requires PHP version no lower than 5.4.
- DevConf 2014 - Let me remind you that in two weeks a large-scale conference on web development will be held in Moscow. The PHP section pleases with interesting reports on phpng, Yii 2, Laravel, AOP, Codeception.
Php
- RFC: Caught "call to a member function of a non-object" - Implementation of this sentence will allow to process errors, rather than generate fatal ones, when calling methods on null:
$x = null; $x->method();
- RFC: loop_else - A proposal to add the ability to use an else block in loops, which will be executed if the loop condition is not fulfilled even once, that is, if the loop does not enter the body.
Instruments
- Link - A good router for PHP.
- RequirePHP - Dependency implementation a la RequireJS.
- Karma - A command line tool for managing environment configurations.
- BowerPHP - Want to be able to use the Bower dependency manager, but not install node.js? BowerPHP is just made for such cases.
- Dora - A form generator with a number of useful features.
- JIT-Fu is a PHP extension providing a JIT interface for libjit-based PHP.
- Yandex Translate API - Shell for Yandex.Translation
- Pomander - Another PHP tool for deploying applications.
- rss-bridge - Feed for sites that don’t have it: Twitter, GoogleSearch, Instagram, Pinterest and others.
- Monga - A simple and fast abstraction layer for working with MongoDB.
- glip is a Git library for PHP that allows you to access the repository from PHP even without Git installed.
- atoum - A simple, modern unit testing framework for PHP.
- TimeTraveler - The tool allows you to set the current date manually, accordingly change the result of all subsequent calls to the functions of working with the date and time.
Learning Materials
- Strangle your API calls: RateLimitBundle - The author has implemented a bundle for Symfony RateLimitBundle , which allows you to limit the number of calls to the API method by specifying a parameter in the annotation of
@ratelimit
the controller or action. In a post about implementation features, pros and cons of the solution. - Whether your OAuth 2.0 application is safe - A little about the sensational recent covert redirect vulnerability in OAuth and OpenID.
- Token Authentication in Silex Applications
- We use Solarium and SOLR to implement full-text search
- Using Sessions in Zend Framework 2 , Part 2 - Tutorial for Beginners.
- Using Bats to Test Command Line Tools - Not PHP, but an interesting overview of Bats testing tool .
- How to use JsonSerializable interface
- Introduction to Sessions in Symfony2
- Legacy code refactoring: complex conditions
- Composer Authentication Management - In the popular dependency manager, the ability to conveniently work with protected repositories was implemented.
- IronMQ and Laravel - Tutorial on the implementation of the task queue.
- Opening Laravel: Session, Auth, and Cache Components
- How to use yield in PHP 5.5 - A bit about generators with an example.
- Getting started with Phpspec
- PHPSpec and Magento - How to use the SpecBDD Framework for PHP with Magento.
- Magento: Basics, Request Processing Cycle, Standards, and Best Practices
- Hack community - Since the official release of Hack, there has been very little time past, and community and specific tools are already being formed, such as the BeatBox and hack-mvc frameworks
- Temporary complexity of algorithms - On evaluating algorithms with examples in PHP.
- PHP and continuous integration with Travis CI
- How to use ZFTool Diagnostics to be sure that modules work in any environment
- Overview of tools for static analysis of PHP-code - In a post reviewed: PHP_CodeSniffer , the PHP Mess Detector and PHP Copy & Paste Detector .
- Unit Testing with GuzzlePHP
- How to write unit tests for models in Phalcon
- RESTful deletion, restoration and revisions - In a post, the author discusses ways to implement non-trivial methods in the REST paradigm.
- Implementing fast import from Excel to PHP
- Speeding up PHP (with ReactPHP)
- Asynchronous Php extension for working with Cassandra without Thrift
- The correct approach to using the Vkontakte API
- Benchmark 14 sorting algorithms on arrays with different dimensions and contents
- Sypex Geo 2.2 - now with GeoNames and OKATO - Overview of the new version of the very fast algorithm for determining the city by IP.
- We create a site using Laravel and Recurly. Part 2
- Introduction to JadePHP - About the JadePHP PHP template engine, a port of the popular Jade Javascript engine.
- Debugging email with MailCatcher - For more information on using MailCatcher, see the post about testing email in PHP .
- Dangerous getimagesize () or Zip Bomb for PHP - A small overview of the vulnerability in the popular photo gallery engine in PHP and how you can put any site using getimagesize () using a bearded zip bomb (or pet bomb).
- RESTful API on Yii framework with RBAC and tests
- Auto-documentation of mobile web services using Yii as an example
- 25 Laravel Tips and Tricks
- PHPCI: Continuous Integration System for PHP Projects
- We are writing our IDE with a built-in interface designer in PHP and ExtJS
Materials from past conferences
- Video Recordings with PHP South Africa
- phpDay 2014 - Slides of reports from the conference held in Italy.
- php [tek] 2014 - Slides 35 reports.
Audio and video
- Creation of reusable forms in Symfony 2 - Continuation of a series of screencasts about Symfony 2. Previously there were: basics , routing , controllers and templates .
Entertaining
Quick Search All Digests
← Previous Issue