
PHP Digest No. 56 - interesting news, materials and tools (January 25 - February 8, 2015)

We bring to your attention the next selection with links to news and materials.
Enjoy reading!
News and Releases
Wait for the release of Laravel 5 - Also announced the conference Laracon American and European .
- PHPUnit 4.5.0 - The update adds support for the Prophecy mok framework . Read more about PHPUnit 4.5.0 and Prophecy here .
GHOST Vulnerability in Glibc May Appear in PHP Web Applications
Php
RFC: Scalar Type Hints - In the midst of a vote on a proposal for typing hinting for scalars, supplemented by the ability to specify strict or non-strict type checking. For the proposal to be accepted, 2/3 of the votes are needed, and at the moment the score is 40 for and 23 against. In php.internals, controversy continues and arguments are presented on both sides.
In the meantime, the author of the proposal makes PHP Predictions for 2015 , and enthusiasts even register comic domains: http://BecauseWeCantHaveNiceThings.com .- RFC: Add cyclic string replacements - It is proposed to expand the capabilities
str_replace()
so that the parameter isreplace
used cyclically. This will allow you to make such replacements:str_replace("?", array("'Joe'", "'Smith'"), "SELECT * FROM people WHERE first = ? AND last = ?");
- RFC: Fix "foreach" behavior - Due to a weird implementation, the loop
foreach
behaves unpredictably in rare cases. It is proposed to change the implementation, so that the behavior becomes consistent and performance improves slightly. - RFC: Group Use Declarations - Suggestion for improving syntax
use
for namespaces:use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };
- RFC: Remove the date.timezone warning - Every PHP developer saw a Warning about an undefined option
date.timezone
when working with date functions. It is suggested to disable this message. - RFC: Skipping optional parameters for functions - Voting started on the old proposal - add the ability to skip optional parameters using the keyword
default
in the argument list:foo(1, default, 3);
Instruments
rlerdorf / php7dev - Rasmus Lerdorf previously called on the php.internals members to test any of their applications in PHP 7 and help in detecting errors. To simplify the task, a Vagrant box was created with pre-installed PHP 7, as well as other versions of PHP. In addition, a Docker container with PHP 7 is available .
- amphp / artax - Asynchronous HTTP / 1.1 client.
- phpMemAdmin - Web interface for Memcached.
- SnappyRouter - A lightweight router.
- SuperClosure v2.0.0 - A library that allows you to serialize closures and anonymous functions.
- GovernorFramework - CQRS library for PHP 5.5+.
- php-git-hooks - Git hooks for PHP projects.
- Glide - A library for working with images. Video about integrating Glide with Laravel
.
- Intervention / image - And another solution for image manipulation.
- Pomm - PHP / Postgresql object model manager
- PHP Enums - A mini-selection of Enum type implementations in PHP.
- sabre / uri - A library for working with URIs. Also an excellent detailed post from the author about what a link really is.
- CockpitCMS - CMS that can be embedded in any application. Also a short tutorial on how to use .
- Riimu / Kit-CSRF - A library for preventing CSRF .
- YiiGist - Directory of Yii extensions.
- Thruway - A router and client for the WAMP v2 protocol in PHP. More about WAMP here and on Habré here
.
Learning Materials
Diving into the Zend Execution engine - Continuation of a series of posts by Julien Pauli about the features of the internal device of the interpreter.
PHP output buffer
- PSR-7 as an example - There was a lot of controversy around the PSR-7 standard: some say it is too complicated, others are not detailed. In a post, the author writes about why the standard is needed, and also shows the completeness and ease of use with an example of interface implementation .
- Remember Me on This Computer - Secure Long-Term Authentication Strategies
- ClassManager - You shall not pass - Recommendations for efficient naming.
- Do I need to escape user data when using MongoDB
- MVC and ADR are UI patterns, not application architecture patterns
- SPL Iterators and Performance
- Dredd: Do Your HTTP API Justice - Automatically verify the documentation and implementation of the RESTful API described using the Blueprint API .
- Starting HHVM with a web server - HHVM does not have a built-in web server, and this prompted the author to implement a special mini-server on Go .
- Obfuscating id in URL using Laravel 5
- ReactPHP: Timers
- Learning OOP in PHP - A collection of resources on OOP and related concepts.
Preparation for Zend Certification: PHP Basics - For those who are preparing, a paid selection of 70 questions and answers with explanations is also available .
Understanding NGINX HTTP Proxies, Load Balancing, Buffering, and Caching
- We program on Yii2: MVC, forms, layouts
- WordPress: Best Practices on AWS
- Deploy WordPress with AWS Elastic Beanstalk
- Setting up Jenkins with Codeception
BemPHP: implementation of the BEM methodology using PHP
Static analysis of PHP code using Symfony2 as an example
WSGI / Rack for PHP
Materials from past conferences
- Good Chemistry - Slides from Rasmus Lerdorf's report on PHP 7. Other sweets from the SunshinePHP conference are available here .
PHPNW14 - Videos of all reports.
Entertaining
- The goal of the framework benchmark is About what the hello world benchmarks are for.
- History of PHP frameworks
- PHP Developer Life
If you notice a typo or mistake, please write to me in PM!
Send link
Quick search for all digests
← Previous issue