Начало зимы, пятница, релиз PHP 7.2 — целая гора поводов, чтобы провести новый микро-толк!
Обсудили несколько интересных инструментов, некоторые хитрости при написании кода на PHP, а также вкратце проговорили основные новые фичи PHP 7.2.
- Одна из ссылок от коллеги — Осторожно! Возможны побочные эффекты. Статья немного про функциональное программирование и в основном про чистые функции. А ещё компания CSSSR проводила летом конференцию и часть докладов доступны на их youtube-канале.
- Интересное рассуждение по поводу форм аутентификации на сайте — Неверное имя пользователя или пароль. На микро-толке была высказана мысль, что это верно для систем с открытой регистрацией, но есть и системы, где доступ только по приглашению и тогда, вероятно, не стоит давать информацию о том что именно неверно на форме входа — логин или же пароль.
- А ссылочка на библиотеку Luxon для работы с датами и временем прилетела от заказчика. Библиотека является легковесной версией moment.js, использует по максимуму нативные API браузера и практикует иммутабельный подход для работы с датами.
- На просторах интернета обнаружен ещё один блог по php — PHP Profi и статья Юнит тесты для трейтов в PHP7.
- Интересный, хотя и не рекомендуемый к использованию трюк описывается в статье Export functions in PHP à la Javascript.
- Еще одна ссылка от коллеги — инструмент SQLCheck для выявления анти-паттернов в sql-запросах.
- Вышел PHP 7.2.0 со следующим набором основных фич:
- При преобразовании объектов и массивов друг к другу строковые и числовые ключи теперь не теряются.
count
на скалярных типах теперь будет кидать исключение (раньше возвращался 1).- Появился type-hint
object
. - В PHP есть фреймворк hash-кодов и раньше он для внутренних данных использовал ресурсы, а в 7.2 это исправили и теперь он использует объекты и это правильно.
- Алгоритм Argon2 используется в функциях хеширования паролей. Он круче, потому что параметризуется 3 факторами - затратами памяти, временем и параллелизмом, в отличие от bcrypt.
- Константы TLS обновлены до более современных значений.
- Удалено расширение mcrypt как неподдерживаемое и устаревшее.
- Добавлено крутое расширение в плане криптографии под названием sodium.
А еще я побывал в Швеции и понял, что мне абсолютно не хватает словарного запаса для общения на бытовые темы, например, про блюда в кафе, продукты питания, животные в зоопарке и прочее. Поэтому начал активно пополнять свой словарный запас через Lingualeo (моя рефералочка, хоть она особо ничего и не даёт). А в Швеции интересно, есть что посмотреть, всё сделано для людей.
Предыдущий дайджест: Микро-толки — дайджест #5
Следующий дайджест: Микро-толки — дайджест #7