Fresh selection with links to news and materials. In the release: PHP 7.4 RC6, Symfony 5.0 and 4.4, WordPress 5.3 and other releases, on updating PSR standards, RFC offers from PHP Internals, a portion of useful tools, mitaps, videos, podcasts and much more.
Enjoy reading!
News and Releases
- PHP 7.4.0 RC6 - Latest Release Candidate. The final release is scheduled for November 28, but for now you can see what's new in PHP 7.4 , read about Arrow functions in PHP 7.4 , see Introduction to PHP FFI .
- PHP 7.2.25 - The branch support is coming to an end and the 7.2.26 release, which is expected on December 19th, will be the last regular release. After that, there will only be security updates as needed throughout the year .
- PHP 7.3.12
- PSR Standards Update - Voting is ending on the procedure for updating interfaces in connection with the addition of taypintov. A two-stage plan is proposed: release version 1.1 for standards, which will add type declarations for parameters, and then v2.0 with the type values ββof the returned values. Learn more about the reasons and alternative approaches considered .
- WordPress 5.3 - In the update update for the Guttenberg block editor (by the way, available for Laravel as the VanOns / laraberg package ), a new Twenty Twenty theme, compatibility with PHP 7.4.
- skyeng / php-communities - An open list of PHP events, speakers and organizers on GitHub. Upcoming events:
β’ November 29, Ufa: Ufa PHP Developers Meeting
β’ November 30, Ivanovo: PHP: The Wrong Way
β’ December 7, Yoshkar-Ola: PHP Meetup December
β’ December 10, Odessa: PHP OpenSource world. Stable multi-threaded application.
β’ December 14, Kazan: Big meeting of PHP developers
PHP internals
- [RFC] Weak maps - In PHP 7.4, support for weak links was added through a special WeakReference class. But in reality, applications need a WeakMap collection that cannot be implemented based on WeakReference. Actually, it is proposed to add it. Hidden text
$map = new WeakMap(); $obj = new stdClass(); $map[$obj] = 42; var_dump($map); // object(WeakMap)#1 (1) { // [0]=> // ["key"] => object(stdClass)#2 (0) {} // ["value"] => int(42) // } // } // , // WeakMap unset($obj); var_dump($map); // object(WeakMap)#1 (0) { // }
- [RFC] Implement new DOM Living Standard APIs in ext / dom - The proposal to implement support for the new DOM standard in kernel extensions is almost unanimous.
- [RFC] Deprecate Backtick Operator (V2) - Rejected by vote.
- [RFC] Union Types 2.0 - The proposal is accepted almost unanimously and in PHP 8.0 we are waiting for the combined types. The syntax
T1|T2|...
can be used wherever types can be specified now. - PHP Internals News podcast # 36 - About those RFCs that did not pass in PHP 7.4.
Tools
- lisachenko / z-engine - An experimental library that allows using FFI to access the internal structures of PHP itself, such as zend_class_entry, zval, and the like, and modify them in runtime. This allows you to do the most unthinkable manipulations in runtime.
- nette / safe-stream - The library allows atomic and safe reading / writing of files using standard PHP functions.
- krakjoe / ilimit - The extension allows you to execute a function by imposing restrictions on the time and memory that a call may require.
- Twig 3.0 - Under the hood, many small improvements, improved performance, cleaned code.
- fzaninotto / Faker 1.9 - More than a hundred improvements and corrections in the latest update of the tool for generating test data.
- cekta / di - Suitable implementation of PSR-11.
- tarantool-php / client - PHP client for Tarantool. Benchmarks of PHP synchronous connectors for Tarantool running in asynchronous / parallel mode using the Swoole, Async and Parallel extensions (and combinations thereof). Submitted by rybakit .
- badoo / jira-client - Badoo Jira API Client: magic in Jira in PHP .
Symfony
- Symfony 4.4 - Learn more about new features in blog posts and the full changelog.
- Symfony 5.0 - Includes all updates from 4.4, as well as two new components, symfony / string and symfony / notifier . Fabien Potencier Introduces Notifier Component
Laravel
- thomasjohnkane / snooze - Pending notifications. Post in support.
- mad-web / laravel-initializer - A custom package for quickly creating an application on Laravel. Sent by evgwed .
- Package Tutorial for Laravel
- About creating custom relationships in Laravel ( translation )
- Domain-oriented Laravel - Continuation of the series on the development of large applications on Laravel: on models , the βstateβ pattern , domain management .
- How to set up a scalable Laravel 6 application using DBaaS and object storage.
- Disable HTTP sessions in Laravel to speed up your APIs ( Translation )
- We write applications on Laravel which are easy to support
- Divide Laravel into components
- Organization of routes in Laravel
- Laravel-shift / blueprint stream series
Yii
Async php
- DriftPHP is a PHP framework based on ReactPHP and Symfony components. Demo app .
- clue / reactphp-ami - Asynchronous tool for managing Asterisk. Introductory blog post in support.
- PHP-Watcher: a tool that simplifies the development of long-lived applications
- Writing a RESTful API with ReactPHP: Protected Routes
Learning Materials
- 5 Ways to Improve PHP Performance - and The Undercover ElePHPant # 2 Podcast with Marco "Ocramius" Pivetta .
- How to quickly upgrade your version of PHPUnit from 4 all the way to PHPUnit 8 .
- Answers to frequently asked questions about Serverless PHP - How to run serverless PHP applications locally? How are costs scaled in practice? How to cope with the additional costs associated with DDoS attacks or peak loads?
- We write our Doctrine Annotation Fixer for PHP-CS-Fixer - Investigation of the internals of the fixer to create your own rule. Submitted by vtvz_ru .
- DB transaction isolation levels for the smallest .
- How to add checks to NoVerify without writing a single line of Go code.
- PHP Composer: fixing dependencies without pain - About what problem plugins for dependency patches solve and why using forks is inconvenient instead.
Audio Video
- PhpStorm HTTP Client Tutorial
Laravel Snippet # 18: Clear Writing, Great Quality, Low Pain Tolerance - Continuation of a series of podcasts from Taylor on how to make money on open source.
Marco Pivetta: Aggressive PHP Quality Assurance in 2019
Symfony Camp 2019
PHP Internals News podcast # 35 - From Scott Arciszewski on a recent vulnerability in PHP-FPM , and cryptography in PHP.