Telegram Web Link
Composer, Создание своего пакета

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
🔥41
Показываем статистику в реальном времени с 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
👍3
Media is too big
VIEW IN TELEGRAM
Введение в графовые БД в PHP

Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.

источник

👉 @php_lib
👍1
Архитектура на «микросервисах» в монолите: проект из практики

В Skyeng есть команда коммуникаций. Мы предоставляем инструменты для связи оператора с пользователем. Например, ученику плохо слышно преподавателя на уроке и он хочет связаться с поддержкой, чтобы решить проблему — мы помогаем.

На старте было просто: связаться с нами можно было только через почту. Входящим ящиком был IMAP, исходящим — SaaS сервис по отправке почты, забрать письма с которого было то еще приключение. Мы смотрели на заголовки и соединяли письма в цепочки, как в любом почтовике: Gmail, Outlook. В таком виде передавали операторам.

Но оказалось, что с теми метаданными, которые мы предоставляли операторам, им было неудобно работать — много времени отнимал поиск пользователей в базе по адресу почты и теме сообщений. Так появился проект линковка. Мы стали подвязывать к цепочкам писем id наших пользователей. Пришлось придумывать дополнительные поля, как все соединить и куда вместить в базе.

Еще нужно было подвязать id той услуги, которую мы предоставляем пользователю. Например, он занимается у нас английским или математикой. А может у него подписка сразу на несколько предметов, то есть услуг.

Со временем увеличилось и число ящиков, куда мог написать клиент. Появились ящики техподдержки, кризис-менеджеров, сейлзов. Чем дальше, тем оказалось сложнее добавлять новые. Чтобы не прийти к ситуации: «Ребята, сколько времени нужно, чтобы добавить новый ящик? В смысле месяц?» — мы задумались о новой архитектуре.

Все решила новость о том, что к нам также заезжают телефония, WhatsApp и внутренний чат сайта...

https://habr.com/ru/companies/oleg-bunin/articles/656095/

👉 @php_lib
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Обработка окон и вкладок браузера в Selenium PHP

Один из распространённых сценариев работы с веб-приложениями заключается в открывании нового окна (или вкладки) браузера после выполнения пользователем определённого действия. Многие веб-разработчики используют HTML-тэг __blank, приказывающий браузеру при нажатии на ссылку открыть новое окно (или вкладку, это зависит от выбранных пользователем настроек). Работа с окнами в Selenium при помощи PHP может использоваться для автоматизации взаимодействия с окнами, вкладками и даже всплывающими окнами браузера.

Всплывающие окна могут иногда раздражать посетителей веб-сайта, однако зачастую у разработчика нет иного выхода, кроме как использовать их. Как Selenium различает окна и вкладки? Как можно использовать автоматизацию для беспроблемного переключения между окнами или вкладками браузера? Как реализовать работу с окнами в Selenium?

В этой статье мы подробно рассмотрим применение Selenium для автоматизации взаимодействия с браузерами, вкладками и всплывающими окнами. Для демонстрации работы с окнами в Selenium PHP мы воспользуемся PHPUnit — фреймворком юнит-тестирования для PHP.

https://habr.com/ru/companies/ruvds/articles/679048/

👉 @php_lib
👍4
Простой бенчмарк для PHP приложений

Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом времени обработки, после чего все результаты заносились в какую-нибудь таблицу Excel и вручную рассчитывалось минимальное, максимальное и среднее время выполнения...

Для решения этой тривиальной задачи был выпущен пакет "Benchmark", позволяющий сравнивать время выполнения кода без лишних затрат.

https://habr.com/ru/articles/714802/

👉 @php_lib
👍4
Асинхронный PHP с использованием ReactPHP

Асинхронное программирование позволяет решить традиционные проблемы синхронного программирования, позволяя выполнять задачи в фоновом режиме, не блокируя выполнение основной программы. Это означает, что программа может продолжать решать другие задачи, в то время как трудоемкие задачи выполняются в фоновом режиме.

https://medium.com/simform-engineering/asynchronous-php-using-reactphp-929185bef98c

👉 @php_lib
👍6
Введение в Terminable Middleware

Создание и взаимодействие с middleware - обычная задача для разработчиков Laravel. Вы, вероятно, знакомы с middleware "до" и "после". Middleware "до" может использоваться для аутентификации пользователей, установки языка приложения или ограничения ответов в зависимости от запроса. After middleware может использоваться для добавления cookies или обновления заголовков ответа. В этом посте мы рассмотрим удобный, но менее используемый тип middleware: Terminable middleware.

https://tighten.com/insights/intro-to-terminable-middleware/

👉 @php_lib
👍5
Полный курс PHP для начинающих и продвинутых

Full PHP 8 Tutorial
How To Install PHP & What Are Web Servers
Basic PHP Syntax
What Are Constants & Variable Variables In PHP
PHP Data Types - Typecasting Overview & How It Works
PHP Boolean Data Type
PHP Integer Data type
PHP Float Data Type
PHP String Data Type - Heredoc & Nowdoc Syntax
PHP Null Data Type

На данный момент доступно 139 видео

👉 @php_lib
👍5
2025/07/11 18:12:55
Back to Top
HTML Embed Code: