Обновить
49.52

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

Подключение и Настройка ElasticSearch + MySql + Yii2

Время на прочтение18 мин
Количество просмотров20K

Если вдруг поиск на вашем проекте начал тормозить, то самое время присмотреться к поисковым движкам.

Сегодня я расскажу как установить и настроить поисковой движок ElasticSearch на сервере под управлением Ubuntu и сделать авто импорт данных из MySql, а также мы настроим взаимодействие Yii с движком ES.

Читать далее

Оптимистическая блокировка коллекций Агрегата при использовании Doctrine

Время на прочтение9 мин
Количество просмотров5.8K

Проектирование своего проекта по DDD последнее время становится всё более популярным. Сейчас не будем углубляться в данную методологию с её принципами, плюсами и минусами. Я хочу рассказать с какой проблемой столкнулась наша команда при использовании данной методологии на PHP, а именно внедрении Data Mapper’а Doctrine ORM.

Чтобы более понятно донести нашу проблему я буду использовать известный всем Агрегат Заказа (Order) и позиции заказа (OrderLine), которые являются коллекциями Dortrine ORM. Так же сильно упростим данный агрегат, чтобы фокусироваться на самой проблеме. И так начинаем!

Для начала мы создадим наш агрегат заказа.

Читать далее

Regex for lazy developers

Время на прочтение9 мин
Количество просмотров24K

Регулярные выражения для ленивых людей?!

Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;)

Читать далее

Использование PHP для системного администрирования

Время на прочтение9 мин
Количество просмотров7.6K

Практическая значимость PHP для веб-разработки, впечатляет с точки зрения эффективности и универсальности. Большинство системных администраторов этим ограничиваются. Как и язык С#, PHP может быть мощным инструментом для системного администратора, несмотря на то, что PHP является по своей природе языком для веб-разработки.

Самым главным преимуществом PHP для системного администрирования является его кроссплатформенность. В отличие от таких традиционных инструментов, как bash для Linux или bat-файлы и скрипты Visual Basic для Windows, PHP скрипты легко переносятся из одной операционной системы в другую. Все, что необходимо это совместимость с интерпретатором PHP и установка необходимых модулей.

Читать далее

PHP Дайджест № 215 (1 – 15 ноября 2021)

Время на прочтение4 мин
Количество просмотров11K
Картинка: Gabriel Nunes.

Подборка свежих новостей и материалов из мира PHP.
В выпуске: последний релиз кандидат PHP 8.1 перед финальным релизом, бенчмарки PHP 8.1; в PHP 8.2 планируется задепрекейтить динамические свойства — добро или зло?; про перенос багов с bugs.php.net на GitHub; немного обновлен PSR-16.
Также в выпуске полезные статьи, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Сравнение php-fpm, nginx-unit и laravel-octane

Время на прочтение12 мин
Количество просмотров27K

Сравнение производительности php-fpm, nginx-unit и laravel-octane - что выбрать для разработки микросервисов.

Читать далее

Tier-1 компании на рынке PHP в РФ

Время на прочтение6 мин
Количество просмотров11K

В компьютерных играх и киберспорте есть такое понятие, как качество предмета или игрока (команды), которое принято называть английским словом Tier (Ярус). И подразумевается, что две вещи (два игрока), имеющие разный Tier будут существенно отличаться в своих характеристиках по шкале (хуже - лучше).

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

Понятие Tier-1 компания - подразумевается, что это одна из лучших компаний на рынке, которая по ряду важных характеристик является лучше, чем любая компания уровня Tier-2.

Читать далее

Перевод аудио-сообщений в текст в telegram при помощи Wit

Время на прочтение4 мин
Количество просмотров7.2K

Я абсолютно уверен что скоро в telegram - перевод аудио-сообщений в текст будет функцией по-умолчанию, ну а пока хотел бы показать простенький пример как реализовать такой функционал в telegram-боте (которых уже сотни, но почему бы не посмотреть как это работает на примере).

Читать далее

Поход выходного дня, митапы в баре и 30 тысяч на блины. Истории городских PHP-чатов

Время на прочтение17 мин
Количество просмотров3.8K

В крупных городах можно найти десятки ИТ-сообществ. Ребята собираются на митапы, делают трансляции, запускают чаты. А кто-то занимается этим много лет. Но зачем? Спросила у организаторов PHP-сообществ из 9 городов. Заодно узнала истории комьюнити, фейлы и советы — с чего начать, если хочешь запустить ИТ-сообщество, и как поддерживать во времена онлайна.

Читать далее

Отправка offline-конверсий в Campaign Manager 360 (DoubleClick)

Время на прочтение4 мин
Количество просмотров1K

Была поставлена задача сделать отправку офлайн-конверсий в Google Campaign Manager 360 (далее GCM). Тот что DoubleClick. Думал, что может быть проще, чем дернуть пару методов API от Google. Работа растянулась на 3 недели. Хочу поделиться опытом, вдруг кому пригодится.

Читать далее

Как ManyChat на PHP8 переезжал

Время на прочтение10 мин
Количество просмотров10K

Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. 

Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. Перспектива переезда тогда вызывала у нас чувства примерно как на КДПВ: от мыслей обо всех тестах и внешних зависимостях было немного неуютно.

Однако в процессе исследования выяснилось, что нельзя просто так взять и остановиться. Одно за другим, и вот мы уже полностью на PHP 8. 

Эта статья – о шагах, из которых складывался переезд, и проблемах, которые мы встретили в процессе. Надеюсь, статья будет полезна для тех, кому ещё только предстоить перейти на PHP 8 – поможет подготовиться хотя бы морально. Для всех остальных (кто уже на PHP 8 или не собирается) – давайте сверимся по ощущениям.

Читать далее

Проектирование, оптимизация и поддержка крупных php-проектов

Время на прочтение4 мин
Количество просмотров3K

Роман Еникеев в прямом эфире Митапа в ОЭЗ "Иннополис" рассказал о том, что нужно понимать под защищенностью данных, немного об изменении мира к лучшему, путем создания хорошего программного продукта и его характеристиках. Вы узнаете о пирамиде нахождения багов и о самой поддержке продукта.

Читать далее

PHP Дайджест № 214 (11 – 25 октября 2021)

Время на прочтение5 мин
Количество просмотров12K
Фото: Иван Ганцев.

Подборка свежих новостей и материалов из мира PHP.

Конфликт вокруг расширения Swoole и создание форка OpenSwoole; асинхронные фреймворки Amp и ReactPHP выпустили общую реализацию ивент-лупа; PHP 8.1 RC 4; принят первый RFC для 8.2.

Также в выпуске два поста от Никиты Попова, полезные статьи, видео.

Приятного чтения!
Читать дальше →

Ближайшие события

Установка и настройка Swagger Validator

Время на прочтение5 мин
Количество просмотров11K

Swagger - популярное решение для документирования API. Он использует OpenAPI Specification. Писать документацию это отлично и прекрасно, но было бы замечательно если она будет валидной и рабочей.

В статье небольшая инструкция по установке и настройке валидатора.

Настроить

Разворачиваем сайт на CMS DLE в контейнерах Docker и Compose

Время на прочтение3 мин
Количество просмотров7.9K

В данном туториале мы рассмотрим, как быстро развернуть LEMP-стэк на виртуальный сервер VPS, используя технологию контейнеризации на базе Docker для сайта под управлением CMS DataLife Engine (DLE).

Читать далее

Использование Google reCAPTCHA v2 и v3 в одной форме

Время на прочтение4 мин
Количество просмотров28K

У Google появилась замечательная reCAPTCHA v3. Замечательна она тем, что освобождает пользователя от необходимости тыкать по картинкам в поисках светофоров и пожарных гидрантов, при этом вполне успешно анализирует его действия на сайте и оценивает их по шкале от 0 до 1. Чем выше балл, тем качественней наш бот выше вероятность, что пользователь реальный. Обычно выставляют порог равным 0.5.

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

Ответ - последовательно использовать капчу обоих версий - не прошел невидимую проверку - появилась видимая капча!

Читать далее

PHP Дайджест № 213 (27 сентября – 11 октября 2021)

Время на прочтение4 мин
Количество просмотров11K
Фото: Noriko YAMAMOTO.

Подборка свежих новостей и материалов из мира PHP.

Для PHP 8.2 предложили добавить тип null; опубликована уязвимость в PHP с disable_functions, которая на самом деле не уязвимость; новый сайт от сообщества — phpopendocs.com; PHP 8.1 RC 3, Xdebug 3.1 и другие релизы.

Также в выпуске порция инструментов, полезные статьи, видео.

Приятного чтения!
Читать дальше →

PHP 8 Programming Tips, Tricks and Best Practices — обзор книги и рекомендации

Время на прочтение3 мин
Количество просмотров6.2K

Буквально месяц тому назад вышла книга: "PHP 8 Programming Tips, Tricks and Best Practices" от Дуг Бирера (Doug Bierer). В этой книге автор делает обзор php 8.0, объясняет его нововведения и описывает потенциальные ошибки перехода со старых версий на php 8.0. 

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

Читать далее

Тюнинг PHP-FPM. Введение

Время на прочтение6 мин
Количество просмотров35K

БОНУС: в нашем подкасте мы обсудили эту тему с экспертом, членом сообщества PHP программистов: https://share.transistor.fm/s/6a8637ba

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

PHP-FPM (или FastCGI Process Manager) имеет по сравнению с mod_php несколько преимуществ, из которых самые очевидные — он более гибок в настройке, и в настоящее время сообщество отдает предпочтение именно этому режиму работы PHP. Однако, если вы используете дефолтную конфигурацию от вашего диспетчера пакетов, то, скорее всего, вы не получите максимум выгоды от его использования.

Читать далее

Автоматизация бизнес-процессов своими руками

Время на прочтение3 мин
Количество просмотров4.5K

У нас было: N различных систем, которые обращались друг к другу напрямую; M маркетологов, которые генерировали идеи, хотели проводить разные тесты и часто предлагали подключить какой-нибудь новый сервис; и K менеджеров по продажам, у которых было много рутинной работы.

Все это порождало проблемы по поддержке и ошибки человека.

Решение: автоматизация и инкапсуляция бизнес-процессов. Разработать систему, которая снимет с людей рутину и уменьшит количество ошибок, ускорит работу, которую будет просто поддерживать и масштабировать.

Узнать технические подробности