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

Большой ежегодный опрос по PHP

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

Прими участие и помоги комьюнити! 🔥

Русскоязычное PHP-комьюнити снова в деле — запускаем ежегодный опрос, чтобы понять, на чем мы пишем, чем живем и куда движемся! 🚀

CutCode подготовил для вас этот опрос, чтобы собрать самые актуальные данные и вместе взглянуть на развитие PHP в 2024 году.

В прошлом году 1120 разработчиков рассказали, на каких версиях PHP сидят, какие фреймворки любят и как относятся к ИИ.

📊 В этом году все мы постарались сделать еще интереснее! Вопросы про развитие, новые технологии и даже пару неожиданных тем. Кто знает, может именно ты подскажешь путь для всего комьюнити?

А вдруг... получишь слона? 🐘
Опрос анонимный. Но кто оставит свой email могут поучаствовать в розыгрыше слона. А шанс повлиять на сообщество есть у каждого!

👉 Пройди опрос и помоги собрать срез по русскоязычной PHP-тусовке:

Опрос в гугл форме

По итогам сделаем подборки статей, докладов, каналов по PHP. Все результаты опубликуем на phpcommunity.ru и в статье на Хабре.

Читать далее

Что важного в PHP 8.3, как готовить Composer и ускорить работу кода — обсудим в онлайне 23 декабря

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

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

В этом году решили опубликовать опрос на митапе в онлайне и послушать четыре доклада. Старт в 12:00 по Москве 23 декабря (суббота). Вот здесь можно почитать подробнее про программу и оставить почту для напоминалки — мы вышлем накануне.

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

Читать далее

Package Wizard — незаменимый помощник при разработке веб-приложений

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

Не знаете с чего начать разработку своего приложения будь то библиотека, пакет, плагин, бандл или даже свой фреймворк? Или надоедает каждый раз копировать одни и те же файлы? Решение есть!

Читать далее

Куда идет PHP: мнения о 2021 и планы на 2022

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

3100+ ответов про выбор фреймворков и инструментов, запомнившиеся статьи и доклады, ключевые события и планы по развитию. Это в два раза больше, чем годом ранее. Наконец все посчитано, закономерности найдены, графики построены. Можно не только 2021 разобрать, но и сравнить с 2020 — для этого специально была сохранена логика основных вопросов.

Откроем лендинг с результатами и параллельно обсудим в прямом эфире в субботу — 12 февраля в 11:00 (Мск / Минск, 10:00 — Киев). Выбрали выходной, чтобы было удобно подключиться и восточным регионам.

Прокомментируют итоги, объяснят графики и немножко похоливарят:

- Александр Макаров (руководитель ПК PHP Russia, Yii)

- Валентин Удальцов (Пых, Happy Inc., PHP Russia)

- Кирилл Несмеянов (FunCorp, PHP Russia)

Читать далее

Стрим PHP 8.4: крутые спикеры и немного оверрана

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

Друзья, вчера был крутой стрим по PHP 8.4! 🔥 Целых 250 человек в пике (абсолютный рекорд канала), огненные обсуждения в чате, придумали Valentine-style форматирования кода (PSR-V), а ещё нас неожиданно порадовал своим появлением Елисеев! 😎 Разобрали все фишки новой версии, пошутили от души, и хоть стрим затянулся дольше обычного - оно того стоило. Запись доступна по ссылке, давайте определим лучший доклад и поделимся впечатлениями в комментах! ✌️

Читать далее

Новый PHP-фреймворк Imhotep: быстродействие, оптимизация и импортозамещение

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8K

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

Начать знакомство с Imhotep

Symfony

Время на прочтение3 мин
Количество просмотров2.3K
Очень нравится этот framework.
Буду переводить часть информации по мере её прочтения. Думаю, что это будет полезно не мне одному. В свою очередь предлагаю обсуждать и дополнять всем, кому эта тема и framework не безразличен

Chapter 12 — Caching


Одним из путей ускорения работы web-based приложения является запоминание части или всего HTML документа, для повторной его выдачи при следующих запросах. Эта технология известна как кэширование. Может применяться как на серверной части, так и на клиентской.
Читать дальше →

Старт нового туториала «The Jobeet»

Время на прочтение2 мин
Количество просмотров1.8K
image
Команда разработчиков symfony в очередной раз радует нас выпуском новой версии фреймворка в которой реализовано множество новых возможностей и фишек.

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

Видимо, для решения данных проблем разработчики фреймворка решили продолжить цикл статей, показывающих примеры реализации веб-проекта от начала и до конца с использованием symfony 1.2.

Называется туториал «The Jobeet», по сути это сайт для размещения вакансий, наподобие раздела «работа» на хабре.

Перевод анонса The Jobeet

PHP-Дайджест № 72 – интересные новости, материалы и инструменты (5 – 18 октября 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

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

Logstash, Manticore, Nginx и Symfony: сбор, агрегация и быстрый поиск логов

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

Мысль о централизованном мониторинге логов хранилась в моей голове много лет, но реализовать ее я смог только совсем недавно. Рассказываю о настройке и подводных камнях связки Logstash + Manticore + Nginx + Symfony.

Читать далее

Меняем моки репозиториев на in-memory реализации

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

Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обратной связи (fast feedback loop), и разработчики могут проводить его не так часто, как следовало бы.

Читать далее

PHP-Дайджест № 73 – интересные новости, материалы и инструменты (18 октября – 5 ноября 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

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

Организуем релевантный поиск по разнородным данным с помощью Sphinx

Время на прочтение10 мин
Количество просмотров22K
В одном из текущих проектов возникла задача поиска по данным разного типа, которая была успешно решена с помощью зарекомендовавшей себя поисковой машины Sphinx, но обо всем по порядку. 

Постановка задачи


В проекте есть на данный момент 2 зоны:
  1. географическая зона, реализованная на базе Google Maps, которая отображает нанесенные пользователями на карту географические объекты (маркеры, маршруты и области);
  2. информационная зона, которая представляет собой большой иерархически организованный каталог, содержащий информационные материалы.
Необходимо было решить задачу одновременного текстового поиска по 3-м типам объектов: географическим объектам, категориям информационной зоны и материалам информационной зоны — c возможностью фильтрации по дате публикации объектов и категориям, к которым они относятся.
Решаем задачу

Вы вообще нормальн… нормализованный??

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.5K

Сказ о том, нормализация данных завела производительность many-to-many в postgres в тупик, как это зло было повержено, и как тут нам помог Clickhouse.

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

Читать далее

Коротко об архитектуре компонента Symfony Config

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


Компонент Symfony 2 Config предназначен для работы с конфигурационными файлами и предоставляет следующие возможности:

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

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

PHP-Дайджест № 74 – интересные новости, материалы и инструменты (5 – 22 ноября 2015)

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


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

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

Практический пример декомпозиции монолитного PHP приложения

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров11K

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

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

Читать далее

Загрузка ассоциаций по запросу в Symfony

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

Всех приветствую!

Стандартно Doctrine загружает сущности отложено (Lazy load). Это означает, что данные взаимосвязей фактически не загружаются до тех пор, пока не будет явный вызов свойства. Механизмы Doctrine позволяют изменить поведение и загружать связи во время запроса к родительской сущности (fetch:'EAGER'), однако это не совсем подходит для динамической загрузки ассоциаций по запросу.

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

Читать далее

Symfony2 Voters и Doctrine Filters на страже безопасности

Время на прочтение6 мин
Количество просмотров15K
Все началось, когда я настраивал систему безопасности одной CRM. Как это часто бывает, в ней были пользователи с разными уровнями доступа к основным данным (назовем их entities). Вид основного грида у них был одинаковый, необходима была гибкость настроек доступа к entities. Сперва я подумал об ACL, но…
Читать дальше →
1
23 ...