Рубрика «symfony» - 19

Frameworks a lot - he's one!

Привет!) Тем, кто пока не имеет представления, советую почитать предыдущую статью А если кратко, то речь пойдет об окружении для локальной веб разработки, которое полностью настроено и готово для запуска большинства фреймворков и cms. Запускайте Symfony, Laravel, Yii2, и другие вреймворки легко! По принципу клонировал -> запустил. Забудьте про постоянные настройки веб сервера и рабочего окружения. Все что вам нужно уже есть в Stacker

Основные лозунги проекта

Их много — он один!
Все просто, не нужно миграций!
Быстро развернул и начал работать!
Хватит настраивать! Пиши код!
Держи зоопарк под Docker, пусть хостовая машина остается чистой!

Читать полностью »

в 17:21, , рубрики: symfony, метки: ,

Symfony — очень популярный php фреймворк, плюсы которого заключаются в прекрасном разделении кода на бандлы, DI, профилировщике, поддержке сторонних модулей. Однако же он очень медленный.
Был у меня проект на самопальном PHP фреймворке, самодельном twig-подобном шаблонизаторе без кеширования, потом он был переписан на symfony. Результаты такого преобразования оказались очень печальными: 1000 req/s превратились всего лишь в 250 запросов в секунду (production mode). Было решено выявить самые тормозные моменты этого фреймворка и попробовать ускорить его.
Итак начнем с Hello world на чистом PHP, Hello world в symfony контроллере, а также для сравнения — статика nginx, nodejs, tomcat.
Читать полностью »

PHP-Дайджест № 103 – интересные новости, материалы и инструменты (12 – 26 февраля 2017) - 1

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

«Hello, (real) world!» на php в 2017 году - 1Вы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:

<?php
echo 'Hello, world!';

Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.

Читать полностью »

PHP-Дайджест № 102 – интересные новости, материалы и инструменты (1 – 12 февраля 2017) - 1


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

PHP-Дайджест № 101 – интересные новости, материалы и инструменты (15 – 29 января 2017) - 1

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

PHP-Дайджест № 100 – интересные новости, материалы и инструменты (1 – 15 января 2017) - 1

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

PHP-Дайджест № 99 – итоги 2016 года и подборка интересных ссылок (11 – 25 декабря 2016) - 1

По традиции, подведем итоги уходящего года и вспомним самые значимые события в мире PHP, которых, к счастью, было немало. И конечно же, подборка со ссылками на свежие материалы за последние две недели.
С наступающим Новым годом! Приятного чтения.
Читать полностью »

В предыдущей статье я писал о загрузке файлов в GridFS. Там мы создали MongoDB документ со свойством $file, аннотированным как @MongoDBFile. Так как ORM сущности я использую чаще, чем ODM документы, я искал простой способ получить доступ к документу из сущности.

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

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

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js