PHP дайджест #8: хешування паролів, Laravel 5.5 та 1 мільярд завантажень Symfony
У випуску: особливості PHP 7.2, LTS реліз, новий проект Unit від Nginx та бібліотека, яка почистить ваш код.
Статті
PHP 7.2 is due in November. What’s new? Martin Hujer розповідає про новинки, які чекають нас у новому мажорному релізі PHP.
Upgrading existing password hashes. Якщо у вас на проекті паролі все ще хешуються за допомогою md5(), то вам слід детально прочитати цю статтю.
Taking PHP Seriously. Slack інженери розповідають, як вони використовують PHP.
The Future of HHVM. Що буде з HHVM після релізу PHP 7.0?
Docker — Getting Started. Why it’s useful. How to customize. Common pitfalls.
RFC
JSON_THROW_ON_ERROR
PHP has two functions for dealing with JSON, json_decode() and json_encode(). Unfortunately, both have suboptimal error handling. json_decode() returns null upon erroring, but null is also a possible valid result (if decoding the JSON „null”). It is only possible to know if an error occurred by calling json_last_error() or json_last_error_msg(), which return the global error state in machine-readable and human-readable forms respectively. json_encode() also uses this system, but at least does have a clear error return value. But both functions also do not halt program execution by default on error, or even throw a warning.
UUID
Universally Unique Identifiers (UUIDs, also known as Globally Unique Identifiers [GUIDs]) are 128 bit integers that guarantee uniqueness across space and time. PHP currently provides the uniqid function only, however, there are many flaws to it; as is apparent from the many warnings on the manual page. UUIDs are the natural answer to that problem. UUIDs are also gaining more attraction due to emerging technologies like streaming platforms (e.g. Kafka), or event sourcing applications, since uniqueness per record is of paramount importance. Depending on a central (locking) authority increases complexity and decreases throughput of such systems.
Релізи
Laravel 5.5. Новий LTS реліз!
Nginx презентує новий проект Unit. NGINX Unit is a new, lightweight, open source application server built to meet the demands of today’s dynamic and distributed applications. Deploy configuration changes with no service disruptions. Run code in multiple languages. Build the foundation of your service mesh.
Цікаві бібліотеки
Те, чого ми всі так довго чекали, — бібліотека, яка почистить ваш код.
PHP Linter, Code Analyzer and Tester.
Різне
А ви знаєте, що break() приймає аргументи?
Symfony has reached 1 billion downloads.
PHP Error in BMW Dash Nav
Вакансія
Pizdata is looking for a Middle PHP Developer [Remote]
← Попередній випуск: PHP дайджест #7