Как стать автором
Обновить
70.9

PHP *

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

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

Как настроить мониторинг бизнес-процессов в БД Oracle и построение графиков, используя бесплатную версию Grafana

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

Настройка мониторинга процессов в Oracle с выводом графиков в Grafana через simple-json-plugin, и веб-сервис на php (oci8 library)

Читать далее

У Вас проблемы с legacy — значит, Вам повезло! Распил монолита на PHP

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

Меня часто просят рассказать о работе с legacy-монолитами. Про микросервисную архитектуру и переход на нее говорят много, но редко упоминают о том, что проекты приходят ней после многих лет роста с монолитным приложением. Учебники по решению проблем не пишут. Чтобы поменять архитектуру живого решения, надо пройти через несколько этапов. Автор работал с разными проектами - и с полноценным multitenancy service-oriented REST architecture, и с огромным монолитом, в репозитории которого были коммиты за десять лет. Эта статья - о темной стороне, о legacy-коде, и практических решениях проблем с монолитным кодом на PHP.

Читать далее

Итоги года в PHP мире

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

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

Вместе с PHP-дайджестом мы решили спросить вас - а что из этого всего запомнилось? И запускаем небольшой анонимный опрос.

Читать далее

Эволюция команды разработки

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

Весной 2019 года меня пригласили руководить разработкой в небольшой стартап, занимающийся обработкой Big Data.

За год руководства было решено немало важных вопросов и их решений, о которых я сегодня буду рассказывать. Статья в большей степени предназначена для руководителей и тимлидов разработки, в команде которой требуются перемены. У читателя может сложиться мнение, что у меня и команды не было скучных рутинных задач, это не так. Эта часть работы будет пропущена.

Читать далее

60+ чатов и ютуб-каналов для PHP-разработчика, которые советуют ребята из сообщества

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


В середине лета мы начали крутить идею создания сайта со всеми PHP-активностями России, Украины и Беларуси. Зачем? Их стало так много в разных форматах, что пора бы уже агрегировать для удобства в одном месте. Сайт запилили, а еще расспросили организаторов городских комьюнити по PHP, какими ресурсами они пользуются каждый день. Собрали в подробный список, чтобы всегда был под рукой.
Читать дальше →

Новости Yii 2020, выпуск 8

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

Всем привет! Это последний выпуск новостей в "весёлом" 2020 году. Я едва успел его приготовить потому как скорость разработки Yii 3 сильно подросла. Все пакеты в этом месяце мы тегнуть не успели, но многие почти готовы, поэтому стоит ожидать релизов в Январе.


С наступающим Новым Годом! Пусть будет менее сумасшедшим, чем 2020. — Александр Макаров


// Не забывайте ставить звёздочки любимым пакетам на GitHub.

Читать дальше →

Бенчмарки PHP 8.0 и 7.4 на Symfony: повышение производительности JIT до +9% вместе с предварительной загрузкой OPCache

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

PHP 8.0 должен увидеть свет 26 ноября 2020 года, а вскоре за ним и последняя версия фреймворка Symfony 5.2. Здесь представлена серия бенчмарков, выполненных на последних версиях обоих проектов. Это чистый hello world сценарий, и его следует воспринимать как таковой. Имеет значение только относительная производительность. В реальном мире YMMV (ваши результаты могут отличаться от приведенных).

Читать далее

PHP-Дайджест № 195 (14 – 28 декабря 2020)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: Fibers для асинхронного PHP, первые нативные атрибуты, короткий match и другие RFC предложения для PHP 8.1, инструменты, много видео, статьи и подкасты.

Приятного чтения и с наступающим Новым годом!


Использование Shopker для IoT

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

Недавно я столкнулся с задачей визуализации данных от датчиков (температура, влажность, частицы PM2.5). Для решения подобных задач существует несколько бесплатных инструментов, например, Grafana + InfluxDB. Найденные мной решения показались слишком сложными и требовательными к ресурсам сервера, поэтому я решил "изобрести свой велосипед", а точнее создать шаблон для Shopker.

Читать далее

Ловушки для современного PHP

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


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


После множества обсуждений этого вопроса, я хотел бы поделиться с вами выводами, к которым пришёл: под катом вы узнаете, с какими трудностями PHP предстоит столкнуться в перспективе самых ближайших лет.

Читать дальше →

#lazy_builder (не путать с lazy load) в Drupal 8/9

Время на прочтение5 мин
Количество просмотров2.6K
Продолжая изучать Drupal, мы наткнулись на очень интересную технологию, которая в него встроена. И которая, на наш взгляд, используется неоправданно мало. И совершенно зря. Потому что подход, который использует эта технология, позволяет мгновенно отдать высоконагруженную (или просто долго формирующуюся) страницу пользователю, а потом «доотдать» ему данные, требующие много времени на формирование. И изучая эту технологию, мы столкнулись с тем, что нет ни одного простого объяснения, что это и как это запустить. Нет, объяснения-то есть. Простых нету. Сейчас мы попытаемся восполнить эту неприятность.
Читать дальше →

События в OpenCart

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

Статья нашего сотрудника из его личного блога.

В статье речь идет об OpenCart версии> =2.3, а именно рассматриваются 2.3 и 3.0

Система событий в OpenCart достаточно интересна, она не является заранее предопределенным списком событий. Внутренность движка устроена таким образом, что почти каждый метод контроллера, который реагирует на определенный роут, загружает какие-то файлы (другие контроллеры, модели, представления, переводы).

Читать далее

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

PHP коммьюнити в СНГ. Было плохо — стало хуже

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

Я пишу на PHP уже 12 лет, и застал ещё даже перевод проектов с PHP 4 на PHP 5. Уже тогда, после института, я понимал насколько низок уровень большинства людей, пишущих на PHP. Тяжелое наследие PHP 4, невысокая алгоритмическая и структурная сложность проектов(даже при объёмной кодовой базе), выбор №1 для малого бизнеса, всё это делало своё дело. Сообщество было непрофессиональным, и мне это не нравилось. Но то что творится сейчас еще хуже.

Читать дальше →

Как я пытался улучшить Laravel, а сделал только хуже

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

Laravel – классный PHP-фреймворк, мы им постоянно пользуемся в компании. Но как известно, ничто в мире не идеально, можно всегда предложить улучшения.

Несколько недель назад я попытался сделать одно маленькие улучшение по части тестов в Laravel, открыл два пулл-реквеста (#1 и #2). Оба пулл-реквеста были отклонены автором фреймворка Тейлором, но в итоге он сам в этот же день опубликовал собственную реализацию того же функционала, о чём даже в твиттере похвалился. И, о боги, реализацию ужасную!

Читать далее

За что я люблю Magento 2

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

Знаете, сейчас, в эпоху хороших фреймворков принято презирать всякие %bad CMS Name% и прочие битриксы. И не мудрено, ведь многие CMS как будто созданы не для программистов а для кодеров. Они решают множество нужных и полезных задач, имеют огромные коммьюнити и тысячи плагинов, но когда ты смотришь под капот - медленно седеющие волосы на голове начинают шевелиться в такт "архитектуре".

Читать далее

Что не так с трейтами?

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


Кажется, стоит просто сказать «трейты» — и начнется холивар. Мы уже случайно начали один пару недель назад. А затем решили разобраться. Что это в большей степени? Способ снизить дублирования кода. Быстрый способ внедрить функциональность. Дефолтная реализация интерфейса. Или древнее зло?

Рассмотрим с примерами — в эту среду вечером на ютубе. А ниже можно ознакомиться с позициями участников трансляции.
Читать дальше →

Разделение кода и текста: мысли вслух

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

Код, который большинство из нас пишет, как правило содержит ещё текст – разные элементы интерфейса, описания, содержание имейлов и так далее. Но мы, программисты, не все получали пятёрки в школе за сочинение. Мы хорошо пишем код, но далеко не каждый из нас хорош в прозе.

В итоге мы видим тысячи сайтов и приложений, которые говорят с пользователями на неестественном языке вроде: “Использованы запрещенные символы” или “Операция успешно завершена”. Как часто вам в жизни, на улице говорят такие фразы? 

Читать далее

Дополнительное поле в карточке товара OpenCart

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

Разрабатывая модуль для OpenCart, возникла необходимость сделать произвольное поле в карточке товара, которое должно быть видно только в админке. Это должно быть поле с логическим значением "маркирован товар или нет".

Читать далее

Занятное мини-интервью с основными контрибьюторами PHP 8

Время на прочтение4 мин
Количество просмотров5.1K
Несколько недель назад русскоязычное PHP-сообщество проводило стрим по случаю выхода мажорной версии языка. По ходу трансляции зрители могли задать вопрос Никите Попову и Дмитрию Стогову, — а в конце те подключились и ответили на часть из них (остальные ответы мы опубликуем письменно, просто не успели уложить почти 100 вопросов в 40 минут — следите за постами pronskiy).



Вы можете посмотреть видеоверсию интервью тут.

Часть ответов уже разлетелась по чатам в виде цитат («Я все языки не люблю, но меньше других — Rust», «Когда вcе заговорили о PHP++, я задумался о PHP+-»), а остальные яркие моменты мы решили сложить в этот пост.
Читать дальше →