
PHP Digest No. 58 - Interesting news, materials and tools (February 22 - March 16, 2015)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
Xdebug 2.3 - The release includes both fixes and new features: forced error display , conversion of warnings to errors , var_dump overload and others. PHP versions below 5.4 are also discontinued.
Yii 2.0.3
- HHVM 3.6.0 - We wrote about new features earlier . LTS release with support until March 2016.
- Joomla! 3.4
- An experimental JIT implementation for PHP from Zend is presented - One of the main authors of PHPNG , Dmitry Stogov, announced the implementation of JIT . Some synthetic tests noticeable significant productivity gains, and for specific cases, for example, count of the Mandelbrot, showing 30 fold growth and leads to the realization C .
- gRPC - the new PRC framework over HTTP / 2 - Google introduced its high-performance open source RPC framework, grpc . Libraries are available for all popular languages, including PHP.
PHPCI updated to version 1.6
- PhpStorm 9 EAP Launched - An early version of PhpStorm 9 is now available for download. I recommend taking a look at least for the sake of the inline debugger.
Php
Scalar Type Hints - The saga of typing hinting for scalars continues. Three proposals are pending:
- RFC: Coercive Types for Function Type Arguments
- RFC: Dual Mode Scalar Type Declarations - Strong and Weak Typing
- RFC: Basic Scalar Types - a compromise in case both of the previous ones fail
declare()
using a special callback. Voting on the second proposal ends tomorrow. In the meantime, stocking up with PHP popcorn .RFC: Exceptions in the engine - Almost unanimously, the proposal to implement ordinary exceptions in PHP 7 instead of fatal errors was accepted. It will also be possible to catch parsing errors. In addition, a new hierarchy has been introduced so that code using trapping of all exceptions
catch(Exception $e)
does not accidentally catch fatal errors and parsing errors. A new base type has been introducedBaseException
, which is directly extended by typesEngineException
,ParseException
and actuallyException
.- RFC: Consistent Function Names - One of the most common claims against PHP is the inconsistency of function naming and parameter sequences. It is proposed to rename functions, and to implement aliases for old names. An impressive list of renaming candidate functions is attached.
- RFC: Strict Argument Count On Function Calls - The sentence assumes that the interpreter should give a warning when the function is called with more arguments than the specified signature. Post in support .
- RFC: Anonymous Classes - Voting has started on a proposal to implement anonymous classes in PHP.
- RFC: Easy User-land CSPRNG - It is proposed to add a simple cryptographically robust pseudorandom number generator in the form of functions
random_bytes(int length)
andrandom_int(int min, int max)
. - RFC: Generator Delegation - It is proposed to implement a syntax that allows generators to delegate Traversable operations to objects and arrays.
yield from
- RFC: Generator Return Expressions - Necessary for the previous sentence change - support
return
in generators. - RFC: Reclassify E_STRICT notices - It is proposed to get rid of the E_STRICT error class - to transfer some to other classes, and remove irrelevant ones.
Instruments
- Webiny Framework - Another PHP framework and review post .
- klermonte / zerg - A small library for parsing structured binary files.
- wapmorgan / HttpServer - Http-server fully written in PHP.
- briannesbitt / Carbon - A handy wrapper for date and time functions in PHP.
- jbroadway / urlify - Library for generating urls (slug), supports transliteration. Port URLify.js from Django.
- Dashbrew - Build a Vagrant box with a convenient, configurable environment for developing PHP applications.
- maknz / slack - A library for sending and receiving messages from Slack .
- Boris - Great REPL for PHP.
- cartalyst / converter - A library for converting values from various measurement systems.
- FastRoute - The fastest router from Nikita Popov has been updated. In version 0.4.0, the ability to register a route with several methods with one call is added.
- Graphene - Graph database in PHP + MySQL.
- phrep - Macro preprocessor for PHP.
- mcordingley / Regression - A library that implements basic regression analysis algorithms.
- bound1ess / adviser - CLI tool for checking PHP projects for readme / license / contributing files, correct settings for the Git repository and Composer manifest, support for PSR-2, SemVer, etc.
Learning Materials
Laravel
- Laravel application and use of 500px API , 2
- Using the Repository Pattern in Laravel 5
- About autoloader features in Laravel 5
Eloquent tricks for the best repositories
- Filtering models in Eloquent in Laravel
Symfony
Symfony Must Watch - A collection of recommended videos for viewing on Symfony.
Writing custom ParamConverter in Symfony2
- Structuring (Symfony) applications , 2
- Modifying a Response Object Globally Using the Kernel Response Event
Wordpress
Budget sites in Khabarovsk, how we do it
The nuances of commercial development on WordPress
Disadvantages of Wordpress - the technical side
About the OPCache device in PHP
Using memory corruption errors in PHP - Demonstrates creating an exploit for serialization vulnerabilities in PHP .
- Security issue: Using Bcrypt with other hash functions - Anthony Ferrara finds out whether Bcrypt and password_hash are susceptible to DoS attacks using specially crafted long passwords. Answer - may be exposed if the string is previously hashed by other functions.
- Feedback Request: New MongoDB Drivers for PHP and HHVM - MongoDB is interested in the community’s opinion about their chosen approach to implementing drivers for PHP 5.x, HHVM, and PHP7.
- Making a PHP startup: Localization with I18n - Continuation of a series of posts about Yii .
- Safely distributing PHAR files: problems and solutions
- Creating custom plugins for MySQLnd extension
- PHP with speed C - About using Recki-CT .
- ReactPHP device posts series
Management Inversion Principle - Hollywood Principle
Restarting the daemon in PHP without losing connections to it
30 wonderful libraries for PHP programmers
The digest of interesting materials from the world of Drupal # 5 , # 6
We show the process of running a continuous task on the server using one connection
CKFinder - image sizes
Sendmail stub for PHP and PHP
PHPUnit: Spreadsheet as a data provider
Text chat for the site
PHPixie 3.0 ORM or new ActiveRecord view
Zend Certification. Not so scary hell
Nuclear reactor to every site
PHP and Erlang interoperability using RabbitMQ
Audio and video
PHP must watch - A collection of recommended videos for viewing in PHP.
ZF3 SF meetup - About Zend Framework 3 by Matthew Weier O'Phinney.
Entertaining
Send link
Quick search for all digests
← Previous issue