Библиотека PHP программиста 👨🏼💻👩💻
Открыть в Telegram
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter
Больше2 039
Подписчики
-124 часа
-77 дней
-1730 дней
Архив постов
PHP | imagecopyresampled() function
https://www.geeksforgeeks.org/php-imagecopyresampled-function/
👉 @php_lib
Как правильно проверять сложность пароля пользователя при регистрации
За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;
https://habr.com/ru/post/714478/
👉 @php_lib
Генерация строго-типизированных коллекций в PHP
Отсутствие коллекций — боль в заднице PHP. На данный момент нет удобного способа обеспечить безопасность типов для наборов объектов. Я постоянно создаю коллекции, но это означает, что нужно создавать новый класс каждый раз, когда нужна безопасность типов для набора данных.
https://telegra.ph/Generaciya-strogo-tipizirovannyh-kollekcij-v-PHP-02-12
👉 @php_lib
Как начать изучать Highload архитектуру?
🗓 22 февраля в 20:00 приходите на открытый урок «Введение в высокие нагрузки» в OTUS. Занятие проведет Андрей Поляков, старший разработчик в Unlimint, в рамках онлайн-курса «Highload Architect».
На занятии мы:
- Проанализируем, в каких единицах можно измерять нагрузку.
- Рассмотрим преимущества и недостатки различных подходов к масштабированию,
- Обсудим проблемы высоконагруженных проектов.
👉 Пройдите вступительное тестирование, чтобы записаться на урок — https://otus.pw/3Pjq/
Все записавшиеся на урок получат его запись и еще 22 записи прошлых уроков!
Простой бенчмарк для PHP приложений
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом времени обработки, после чего все результаты заносились в какую-нибудь таблицу Excel и вручную рассчитывалось минимальное, максимальное и среднее время выполнения...
Для решения этой тривиальной задачи был выпущен пакет "Benchmark", позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/post/714802/
👉 @php_lib
Auth for API in 5 minutes via Symfony 6
Иногда разработчику нужно в кратчайшие сроки разработать некий минимальный функционал, отдельно от основного приложения, ведь так быстрее и нет всей этой бюрократии с релизами код ревью, согласованиями и месяцами тестирования.
Для этого разработчик создает новый репозиторий и там реализует свое “чудо”. Это может быть как автономный инструмент который считает процент прибавок к зарплате за сверхурочные в зависимости от ставки и выслуги лет, так и более сложная система с доступом корпоративной базе данных.
https://habr.com/ru/post/669590/
👉 @php_lib
Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT"
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Гайд по enum
Это мое личное руководство по использованию перечислений в PHP. Каждый раздел описывает правило, а также личное мнение, стоящее за этим правилом.
https://stitcher.io/blog/php-enum-style-guide
👉 @php_lib
Laravel’s safety mechanisms
https://planetscale.com/blog/laravels-safety-mechanisms
👉 @php_lib
Тестирование PHP проектов на примере Symfony
Хочу описать свои наработки и устоявшиеся подходы к тестированию PHP проектов. Последние годы я работаю с Symfony и здесь будет достаточно моментов специфичных для этого фреймворка. Так же в этой статье термин функциональные тесты (functional) является синонимом End-to-End тестов. Статья рассчитана на разработчиков уже знакомых с PHPUnit и Symfony, структурой composer файла. Врочем, здесь есть и общеизвестные моменты, чтобы облегчить понимание тем, кто только начинает писать тесты. Статья призвана упорядочить знания и показать какие-то удобные подходы. Формат статьи не позволяет раскрыть все нюансы. Тем не менее, я постараюсь озвучить все основные моменты, применяемые в работе и которые лично мне помогают на практике.
https://habr.com/ru/post/713454/
👉 @php_lib
Как ускорить приложение за счёт PHP-FPM (няшим FPM conf)
Сегодня хочу поговорить о том, как ускорить приложение через конфигурирование PHP-FPM.
Сейчас самый популярный (из тех с которыми я сталкивался) стек на котором поднимается PHP приложение это веб сервер nginx и процесс-менеджер php-fpm.
Я хочу поднять простое приложение с Laravel проектом, которое устанавливается со всеми параметрами по умолчанию. Попробуем это приложение нагрузить пользователями с помощью простого Javascript скрипта и посмотрим как ему удастся справиться с нагрузкой и как мы можем повысить обрабатываемую нагрузку только конфигурированием php-fpm. В конце статьи можно будет найти ссылку на GitHub и попробовать своими руками.
https://habr.com/ru/post/576344/
👉 @php_lib
TLDR - Плагин для PhpStorm с поддержкой искусственного интеллекта, который объясняет код на простом английском языке.
https://plugins.jetbrains.com/plugin/20050-tldr
👉 @php_lib
Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра
Выковыривание информации из html — это скучно. Очень. Между тем, эта потребность выстреливает редко, но метко (© Суворов). Из-за этого есть спрос на готовые и короткие инструкции о том, как это сделать, чтобы не тратить время на изучение. Перед вами как раз такая.
Чтобы добавить хоть какой-то интерес скучнейшему занятию мы для примера будем парсить пользователей Хабра. А чтобы не мелочиться — ещё и реанимируем для этого экспериментальную библиотеку 11-летней давности.
https://habr.com/ru/post/709262/
👉 @php_lib
Работаем с XML как с массивом
Хочу поделиться с вами опытом в парсинге XML файлов размером до четырёх гигабайт. Я научу вас, как это делать быстро.
В двух словах для быстрого парсинга файлов надо пользоваться XMLReader в связке с yield..
https://habr.com/ru/post/712106/
👉 @php_lib
Полностью автоматический RESTful PHP Router
Почему стоит использовать Scrawler Router?
Полностью автоматический, вам не нужно определять ни одного маршрута вручную.
Никаких конфигураций, работает из коробки с любым php проектом.
Стабилен и используется внутри многих проектов Corpuvision.
Экономит много времени при создании RESTful приложений
https://github.com/scrawler-labs/router
👉 @php_lib
🔥 Задай свой вопрос Go-разработчикам на talk-сессии
📌 Мечтаешь задать вопросы опытному Golang-разработчику? Задай сразу ТРЁМ! Прими участие в ламповой беседе. Подключайся 24 января в 20:00 на talk-сессию в OTUS. Три ведущих разработчика Golang пообщаются со всеми желающими и ответят на любые вопросы.
✔️ Как себя чувствует Golang-разработка в РФ?
✔️ Какие бывают эпик фейлы на работе?
✔️ Как пройти собеседование в компанию мечты?
✔️ Как обстоят дела с релокацией?
✔️ Какие котики самые няшные?
✔️ И любые другие свободные темы, как за чашкой кофе.
🚀 Это отличная возможность пообщаться с преподавателями онлайн-курса «Golang Developer. Professional» в OTUS. Не упусти свой шанс.
💎 Мероприятие будет интересно как людям без опыта в Golang, так и Junior Golang-разработчикам.
💻 Для участия зарегистрируйтесь https://otus.pw/egq5/
💣 Приведите друга на курс — и вы оба получите скидку 20%! Промокод: Go02
Реклама. Информация о рекламодателе на сайте www.otus.ru
Как протестировать маршруты в Symfony , чтобы подготовиться к серьёзному рефакторингу
https://tomasvotruba.com/blog/how-to-test-symfony-routes-to-make-huge-refactorings-safe/
👉 @php_lib
