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

Спасибо! И позвольте, я объяснюсь.

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

Шансы, что контроллеры придется переносить на другой фреймворк, близки к нулю. (Рафаэль Домс)

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

В предыдущей части этой серии мы понизили связанность симфонийского контроллера и фреймворка, удалив зависимость от базового класса контроллера из FrameworkBundle. А в этой части мы избавимся от некоторых неявных зависимостей, которые появляются из-за аннотаций.
Читать полностью »

Обычно считается, что контроллеры — наиболее связанные классы в приложении. Как правило, на основании данных запроса они получают или сохраняют данные в базу данных, затем превращают данные или результат сохранения в HTML, который выступает в качестве ответа клиенту, который произвел запрос.

Получается, что контроллеры — повсюду, они соединяют те части приложения, которые обычно достаточно независимы друг от друга. Это сильно повышает связанность контроллеров: среди их зависимостей есть менеджер сущностей Doctrine, шаблонизатор Twig, базовый контроллер из FrameworkBundle, и прочее.

В этой записи я покажу, что этот уровень связанности совершенно не нужен. Я покажу вам, как значительно понизить связанность, предприняв всего несколько простых шагов. В результате мы получим контроллер, который можно будет повторно использовать в разных типах приложений, например, на базе Silex или даже Drupal.
Читать полностью »

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

Введение

костыли и велосипеды
Сегодня я хочу поделиться проблемой, приведшей меня к написанию своего велосипеда своей CMS, целями которые я себе поставил, и моим путем их решения. Эта статья будет наполнена концептуальными размышлениями. Я продемонстрирую свою молодость, наивность и незнание очевидных (для тех, кто их знает) вещей. Не смею надеяться, что потратившие свое время на чтение сего текста гуру потратят еще n-адцать минут, чтобы дать дельный совет по теме. И пусть тот веб-разработчик, который сам никогда об этом не задумывался, первый бросит в меня камень.

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

Для себя я определяю эффективность проекта как прибыль/затраты (время и средства). На этапе разработки будущая прибыль зависит от внешнего вида и удобства сайта. Но готовый сайт за 150 000 внешне не особо отличается от сайта за 15 000 (для пользователя, мы-то знаем, как красив и элегантен наш код в дорогом и длительном проекте). Вот если сравнивать с сайтами за 1 000 — 5 000 — то да, разница будет по-четче. Спасибо закону Парето за это.
Читать полностью »

[Дабы не возникло недопонимания, стоит пояснить, что автор оригинального текста — Fabien Potencier, создатель популярного PHP фреймворка Symfony — прим. пер.]

Расцвет Composer и закат PEARСовсем недавно, Nils Adermann, прислал мне милую открытку, в напоминание о нашей встречи три года назад на “SymfonyLive hackday” в Сан-Франциско. Nils присутствовал на конференции, т.к. за год до этого, он анонсировал, что phpBB в версии 4 перейдет на Symfony.

В то время, я серьезно интересовался темой менеджеров пакетов, ибо искал удобный способ управлять бандлами в Symfony2. Для плагинов в Symfony1 я использовал PEAR, но код был очень запутанным, ведь PEAR изначально создавался немного не для этого. Философия Бандлера из Ruby сообщества выглядела очень привлекательно, так что я начал поиски подобного пакетного менеджера. После долгих бессонных ночей, я наткнулся на libzypp, и моментально понял, что это оно! К сожалению libzypp — сложная библиотека, написанная на C, и в таком виде, совсем не подходила для Symfony.

Я смекнул, что хорошим менеджером пакетов, позволяющим пользователям легко устанавливать плагины/бандлы/моды наверняка интересуется и Nils, для phpBB, так что я завел об этом разговор на hackday в Сан-Франциско. Оказалось, что в то время, Нилс уже начал работу над Composer.Читать полностью »

На хабре уже было несколько статей о трейтах и о том, как их использовать. Но я пока не видел примеров использования с реальными фреймворками, на которых мы пишем каждый день. Я любитель Symfony2 стека и потому именно на нем я покажу, как можно использовать трейты с пользой.Читать полностью »

Дайджест интересных новостей и материалов из мира PHP № 36 (9 — 23 февраля 2014)

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

Приятного чтения!
Читать полностью »

Недовно я познакомился с инструментом для создания виртуального окружения Vagrant, который я использую для веб разработки и очень рад этому. Но не все так радостно c реализизацией в этом окружении Symfony2 проекта. А именно, проблема в медленности загрузки (генерации) страницы! Итак возникла задача увеличить быстродействие, так как время загрузки страницы более 10-ти секунд ну вовсе не ахти.

У кого возникла такая же проблема, или кому просто интересно прошу под кат.
Читать полностью »

Дайджест интересных новостей и материалов из мира PHP № 35 (26 января — 9 февраля 2014)

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

Приятного чтения!
Читать полностью »


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