Библиотека PHP программиста 👨🏼💻👩💻
Open in Telegram
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter
Show more2 095
Subscribers
+124 hours
-47 days
-1030 days
Posts Archive
Введение в Terminable Middleware
Создание и взаимодействие с middleware - обычная задача для разработчиков Laravel. Вы, вероятно, знакомы с middleware "до" и "после". Middleware "до" может использоваться для аутентификации пользователей, установки языка приложения или ограничения ответов в зависимости от запроса. After middleware может использоваться для добавления cookies или обновления заголовков ответа. В этом посте мы рассмотрим удобный, но менее используемый тип middleware: Terminable middleware.
https://tighten.com/insights/intro-to-terminable-middleware/
👉 @php_lib
✔️ Ты PHP-разработчик? - Проверь себя, пройди тест по Laravel! 👩💻
Вырвись из однотипных задач — освой полный спектр возможностей Laravel.
Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Framework Laravel" от OTUS по специальной цене.
🎫Возможна оплата курса в рассрочку
👉 ПРОЙТИ ТЕСТ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Fix your Laravel exceptions with AI
https://beyondco.de/blog/ai-powered-error-solutions-for-laravel
👉 @php_lib
Асинхронный PHP с использованием ReactPHP
Асинхронное программирование позволяет решить традиционные проблемы синхронного программирования, позволяя выполнять задачи в фоновом режиме, не блокируя выполнение основной программы. Это означает, что программа может продолжать решать другие задачи, в то время как трудоемкие задачи выполняются в фоновом режиме.
https://medium.com/simform-engineering/asynchronous-php-using-reactphp-929185bef98c
👉 @php_lib
👨💻 Начните изучать Framework Laravel бесплатно на открытом уроке
📢📢 6 сентября в 20:00 мск пройдёт открытый урок «Работа с feature flag с помощью Laravel Pennant» в рамках курса «Framework Laravel» от OTUS.
🟠Рассмотрим, какие возможности предоставляет Pennant для реализации индикаторов функциональности, а также научимся связывать пользователей и индикаторы и реализуем A/B тестирование на уровне кода.
🟠Вы сможете задать преподавателю любые вопросы в режиме реального времени и увидеть, как организован курс изнутри! Сам курс стартует 28 сентября и доступен для приобретения в рассрочку!
👉 Регистрируйтесь бесплатно прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/FDpt/
Нативная интеграция. Информация о продукте www.otus.ruПростой бенчмарк для PHP приложений
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом времени обработки, после чего все результаты заносились в какую-нибудь таблицу Excel и вручную рассчитывалось минимальное, максимальное и среднее время выполнения...
Для решения этой тривиальной задачи был выпущен пакет "Benchmark", позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/articles/714802/
👉 @php_lib
Обработка окон и вкладок браузера в Selenium PHP
Один из распространённых сценариев работы с веб-приложениями заключается в открывании нового окна (или вкладки) браузера после выполнения пользователем определённого действия. Многие веб-разработчики используют HTML-тэг __blank, приказывающий браузеру при нажатии на ссылку открыть новое окно (или вкладку, это зависит от выбранных пользователем настроек). Работа с окнами в Selenium при помощи PHP может использоваться для автоматизации взаимодействия с окнами, вкладками и даже всплывающими окнами браузера.
Всплывающие окна могут иногда раздражать посетителей веб-сайта, однако зачастую у разработчика нет иного выхода, кроме как использовать их. Как Selenium различает окна и вкладки? Как можно использовать автоматизацию для беспроблемного переключения между окнами или вкладками браузера? Как реализовать работу с окнами в Selenium?
В этой статье мы подробно рассмотрим применение Selenium для автоматизации взаимодействия с браузерами, вкладками и всплывающими окнами. Для демонстрации работы с окнами в Selenium PHP мы воспользуемся PHPUnit — фреймворком юнит-тестирования для PHP.
https://habr.com/ru/companies/ruvds/articles/679048/
👉 @php_lib
🔥 Пройди тест по Laravel ! 🔥
➡️ Проверь себя и свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Framework Laravel" от OTUS по специальной цене.
👩💻 Присоединяйся к новому потоку онлайн-курса «Framework Laravel» в OTUS. В программе курса — удобные и мощные наработки огромного Laravel-сообщества, а практика — решение бизнес-задач.
👨💻 За 4 месяца обучения твое портфолио пополнится мини-проектами и выпускной работой.
🎫Курс можно приобрести в рассрочку
👉 ПРОЙТИ ТЕСТ: https://otus.pw/15EZI/
Нативная интеграция. Информация о продукте www.otus.ruАрхитектура на «микросервисах» в монолите: проект из практики
В Skyeng есть команда коммуникаций. Мы предоставляем инструменты для связи оператора с пользователем. Например, ученику плохо слышно преподавателя на уроке и он хочет связаться с поддержкой, чтобы решить проблему — мы помогаем.
На старте было просто: связаться с нами можно было только через почту. Входящим ящиком был IMAP, исходящим — SaaS сервис по отправке почты, забрать письма с которого было то еще приключение. Мы смотрели на заголовки и соединяли письма в цепочки, как в любом почтовике: Gmail, Outlook. В таком виде передавали операторам.
Но оказалось, что с теми метаданными, которые мы предоставляли операторам, им было неудобно работать — много времени отнимал поиск пользователей в базе по адресу почты и теме сообщений. Так появился проект линковка. Мы стали подвязывать к цепочкам писем id наших пользователей. Пришлось придумывать дополнительные поля, как все соединить и куда вместить в базе.
Еще нужно было подвязать id той услуги, которую мы предоставляем пользователю. Например, он занимается у нас английским или математикой. А может у него подписка сразу на несколько предметов, то есть услуг.
Со временем увеличилось и число ящиков, куда мог написать клиент. Появились ящики техподдержки, кризис-менеджеров, сейлзов. Чем дальше, тем оказалось сложнее добавлять новые. Чтобы не прийти к ситуации: «Ребята, сколько времени нужно, чтобы добавить новый ящик? В смысле месяц?» — мы задумались о новой архитектуре.
Все решила новость о том, что к нам также заезжают телефония, WhatsApp и внутренний чат сайта...
https://habr.com/ru/companies/oleg-bunin/articles/656095/
👉 @php_lib
25 августа заканчивается набор на курс Symfony Framework!
Пройди тест, чтобы понять насколько ты готов освоить Symfony.
Что ты сможешь получить на курсе Symfony Framework от Отус?
✅ Через четыре месяца получишь навыки для работы над высокооплачиваемыми enterprise проектами на PHP;
✅ Научишься писать clean code на PHP с использованием Symfony.
Что отличает курс Отуса от других?
▫️ Живая обратная связь от преподавателей-практиков с опытом работы в крупных компаниях;
▫️ Программа с самым детальным разбором Symfony и его экосистемы для разработки современных проектов на рынке.
➡️ Пройти тест прямо сейчас: https://otus.pw/a2DS/
Нативная интеграция. Информация о продукте www.otus.ru
Показываем статистику в реальном времени с Laravel Volt
Для реализации этой возможности нам необходим метод отслеживания активных пользователей. Одним из вариантов является запись активных пользователей в таблицу базы данных. Каждая запись будет содержать идентификатор пользователя и временную метку, когда он был активен. Затем можно проверить активность за последние 5 минут или за любой другой желаемый промежуток времени. Другой способ заключается в наличии столбца "last_login_at" в таблице пользователей. Третий вариант - использование сервера web-sockets для получения подсчета активных пользователей в реальном времени.
В данной статье я остановлюсь на использовании Redis. Я люблю Redis за то, что это простая база данных in-memory, но при этом очень мощная. Я уже использовал этот метод, и он способен масштабироваться до тысяч и даже миллионов пользователей.
https://ahmedash.dev/blog/laravel-core-bits/volt-live-users-stats/
👉 @php_lib
🦾 Как PHP-разработчику быстрее и легче закрывать задачи?
🔥🔝 Освоить фреймворк Laravel – стать ещё более востребованным и эффективным специалистом!
❌❌Мы в OTUS тщательно следим за трендами индустрии и просто не могли не создать курс «Framework Laravel».
После него вы сможете:
- использовать в проектах Laravel;
- обеспечивать безопасность приложения;
- тестировать и разворачивать полученный код;
- выполнять анализ работы логики и делать выводы;
- использовать встроенные инструменты фреймворка.
🟠Все эти знания позволят вам оптимизировать свою работу и претендовать на значительный карьерный рост!
➡️ Подробности, рассрочка и вступительное тестирование – здесь: https://otus.pw/pZvZ/
Нативная интеграция. Информация о продукте www.otus.ruComposer, Создание своего пакета
PHP, Composer, Советы по созданию пакета, composer.json
PHP, composer, публикация пакета на packagist и github
Code style вашего проекта
Интеграция travis-ci в ваш php проект
PHPSTAN. Статический анализ PHP проекта
PHPINSIGHTS, Статический анализ в вашего PHP проекта
PSALM, статический анализ PHP проекта
PHPMD, статический анализ php mess detector
источник
👉 @php_lib
PHP: The Ultimate Guide
Автор: Sufyan bin Uzayr (2022)
Эта книга предлагает:
- Пошаговый подход к решению проблем и развитию навыков
- Быстрое изучение основных концепций языка в форме "Краш-курса".
- Продвинутые, практические основные концепции с акцентом на реальных проблемах
- Парадигмы кодирования промышленного уровня и практико-ориентированный объяснительный подход
- Особое внимание уделяется написанию чистого и оптимизированного кода, а дополнительные главы посвящены методологии кодирования
👉 @php_lib
PHP, PDO SQL Injection
SQL Injection минимум который должен знать каждый разработчик код которого работает в production
00:00 Вступление и оглавление
01:06 Определения (теория)
01:45 Чем опасны SQL Injection
03:34 Практический стенд
06:12 Обхода аутедентификации
09:23 Модификации базы данных
11:47 Защита с помощью placeholder
15:49 Защита там где placeholder не применимы
18:52 Поддержи канал
источник
👉 @php_lib
Introduction into PHP community with Graph databases
Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.
источник
👉 @php_lib
Backend
Backend: Введение в PHP, часть 1
Backend: Введение в PHP, часть 2
Backend: Введение в PHP, часть 3
Backend: Введение в PHP, часть 4 - авторизация по токену
Backend: Введение в PHP, часть 5 - HTTP status codes
Backend: Введение в PHP, часть 6 - обработка данных и защита от ошибок
Backend: Введение в PHP, часть 7 - обработка файлов на стороне PHP (Формы и base64)
Продвинутый PHP: Основы ООП
Продвинутый PHP: Основы Laravel
Продвинутый PHP: Основы Laravel - Router&Middleware
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 1
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 2 - отношения
Продвинутый PHP: Основы Laravel - JWT-авторизация
Продвинутый PHP: Основы Laravel - монолитные приложения MVC
Продвинутый PHP: Основы Laravel - авторизация в монолитных приложениях MVC
Все видео доступны на youtube
👉 @php_lib
Релиз Laravel Prompts
Laravel Prompts - это PHP-пакет для добавления красивых и удобных форм в приложения командной строки с функциями, подобными браузерным, включая текст-заполнитель и валидацию.
https://laravel.com/docs/10.x/prompts
👉 @php_lib
Список альтернативных интерпретаторов и компиляторов PHP и JS
https://github.com/gakowalski/alternative-interpreters
👉 @php_lib
Available now! Telegram Research 2025 — the year's key insights 
