Простой бенчмарк для PHP приложений
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом времени обработки, после чего все результаты заносились в какую-нибудь таблицу Excel и вручную рассчитывалось минимальное, максимальное и среднее время выполнения...
Для решения этой тривиальной задачи был выпущен пакет "Benchmark", позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/post/714802/
👉 @php_lib
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом времени обработки, после чего все результаты заносились в какую-нибудь таблицу Excel и вручную рассчитывалось минимальное, максимальное и среднее время выполнения...
Для решения этой тривиальной задачи был выпущен пакет "Benchmark", позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/post/714802/
👉 @php_lib
👍4
Генерация строго-типизированных коллекций в PHP
Отсутствие коллекций — боль в заднице PHP. На данный момент нет удобного способа обеспечить безопасность типов для наборов объектов. Я постоянно создаю коллекции, но это означает, что нужно создавать новый класс каждый раз, когда нужна безопасность типов для набора данных.
https://telegra.ph/Generaciya-strogo-tipizirovannyh-kollekcij-v-PHP-02-12
👉 @php_lib
Отсутствие коллекций — боль в заднице PHP. На данный момент нет удобного способа обеспечить безопасность типов для наборов объектов. Я постоянно создаю коллекции, но это означает, что нужно создавать новый класс каждый раз, когда нужна безопасность типов для набора данных.
https://telegra.ph/Generaciya-strogo-tipizirovannyh-kollekcij-v-PHP-02-12
👉 @php_lib
Telegraph
Генерация строго-типизированных коллекций в PHP
Отсутствие коллекций — боль в заднице PHP. На данный момент нет удобного способа обеспечить безопасность типов для наборов объектов. Я постоянно создаю коллекции, но это означает, что нужно создавать новый класс каждый раз, когда нужна безопасность типов…
👍3
Как правильно проверять сложность пароля пользователя при регистрации
За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;
https://habr.com/ru/post/714478/
👉 @php_lib
За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;
https://habr.com/ru/post/714478/
👉 @php_lib
👍5
PHP | imagecopyresampled() function
https://www.geeksforgeeks.org/php-imagecopyresampled-function/
👉 @php_lib
https://www.geeksforgeeks.org/php-imagecopyresampled-function/
👉 @php_lib
GeeksforGeeks
PHP | imagecopyresampled() function - GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.
👍1
Чистим пхпшный код с помощью DTO
При написании нового метода или сервиса мы стараемся его максимально абстрагировать от внешних зависимостей, чтобы новый функционал реализовывал только заложенную ему логику. Об этом, собственно, нам и говорит один из принципов SOLID - Принцип единственной ответственности (single responsibility principle).
https://telegra.ph/CHistim-phpshnyj-kod-s-pomoshchyu-DTO-02-12
👉 @php_lib
При написании нового метода или сервиса мы стараемся его максимально абстрагировать от внешних зависимостей, чтобы новый функционал реализовывал только заложенную ему логику. Об этом, собственно, нам и говорит один из принципов SOLID - Принцип единственной ответственности (single responsibility principle).
https://telegra.ph/CHistim-phpshnyj-kod-s-pomoshchyu-DTO-02-12
👉 @php_lib
Telegraph
Чистим пхпшный код с помощью DTO
При написании нового метода или сервиса мы стараемся его максимально абстрагировать от внешних зависимостей, чтобы новый функционал реализовывал только заложенную ему логику. Об этом, собственно, нам и говорит один из принципов SOLID - Принцип единственной…
👍2
(Singly) Linked Lists explained in PHP
https://doeken.org/blog/linked-lists-explained-in-php
👉 @php_lib
https://doeken.org/blog/linked-lists-explained-in-php
👉 @php_lib
👍3
В очередь, ...! Как управлять состоянием системы через события
Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие B -> Компонент B, и зачем это нужно.
https://habr.com/ru/post/699492/
👉 @php_lib
Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через события Компонент А -> Событие B -> Компонент B, и зачем это нужно.
https://habr.com/ru/post/699492/
👉 @php_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Array Destructuring in PHP
Destructuring arrays
Destructuring arrays with non-numerical keys
Using the shorthand syntax
Skipping items
Building and assigning
Destructuring nested arrays
A practical example
Beware of undefined indexes
Merging defaults
👉 @php_lib
Destructuring arrays
Destructuring arrays with non-numerical keys
Using the shorthand syntax
Skipping items
Building and assigning
Destructuring nested arrays
A practical example
Beware of undefined indexes
Merging defaults
👉 @php_lib
👍1
Rector-laravel
Rector upgrades rules for Laravel
https://github.com/driftingly/rector-laravel
👉 @php_lib
Rector upgrades rules for Laravel
https://github.com/driftingly/rector-laravel
👉 @php_lib
GitHub
GitHub - driftingly/rector-laravel: Rector upgrades rules for Laravel
Rector upgrades rules for Laravel. Contribute to driftingly/rector-laravel development by creating an account on GitHub.
👍1
Как прокачаться в PHP: 70 ресурсов из опроса русскоязычного сообщества
В чаты по PHP часто приходят с вопросами про развитие: какие книги стоит прочитать в первую очередь, на какие каналы подписаться, какие курсы хороши. Если повезет, в ответ чат поделится парой рекомендаций. Мы решили агрегировать их в список и собрали 150+ мнений по актуальным ресурсам для PHP-разработчика.
https://habr.com/ru/company/skyeng/blog/666626/
👉 @php_lib
В чаты по PHP часто приходят с вопросами про развитие: какие книги стоит прочитать в первую очередь, на какие каналы подписаться, какие курсы хороши. Если повезет, в ответ чат поделится парой рекомендаций. Мы решили агрегировать их в список и собрали 150+ мнений по актуальным ресурсам для PHP-разработчика.
https://habr.com/ru/company/skyeng/blog/666626/
👉 @php_lib
👍4
Laravel позволяет получать записи в маршрутах не только по первичному ключу, но и по любому полю модели.
👉 @php_lib
👉 @php_lib
👍5👎1
Generics via Attributes in PHP — Can We Have Them?
https://pronskiy.com/blog/generics-via-attributes-in-php/
👉 @php_lib
https://pronskiy.com/blog/generics-via-attributes-in-php/
👉 @php_lib
👍3