Доброго времени сутоке. Собственно хотелось бы узнать ваше мнение. Есть ли вообще смысл в написание статей посвященных Symfony 2?
Читать полностью »
Рубрика «symfony» - 29
Есть ли смысл в статьях для тех кто начинает изучать Symfony
2013-11-18 в 20:16, admin, рубрики: php, symfony, symfony2, опрос, метки: PHP, symfony2, опросSonataMediaBundle. Русская версия перевода файла xliff
2013-11-14 в 10:17, admin, рубрики: php, symfony, symfony 2, админка, метки: symfony 2, админка Доброго времени сутоке. Во время работы над админ частью одного русскоязычного ресурса, появилась необходимость, что бы вся админка была на русском языке. В самой SonataAdminBundle файлик такой есть, и это не вызвывает сложностей. Но как оказалось, подключенная к AdminBundle другой Сонатовский бандл, а именно SonataMediaBundle не обладает таким интерфейсом. Собственно появилось необходимость перевести его, так как не нашел в сети. Что из этого получилось? Прошу под кат.
Читать полностью »
Новое в Symfony 2.4: компонент ExpressionLanguage
2013-11-13 в 19:34, admin, рубрики: 2.4, expression language, php, symfony, symfony components В Symfony 2.4 появится новый компонент — ExpressionLanguage. Компонент является движком для компиляции и исполнения «выражений».
Этот язык является урезанной версией твига. Выражения укладываются в одну строку и обычно возвращают булево значения, но не ограничиваются этим.
В отличии от твига, ExpressionLanguage работает в двух режимах:
- Компиляция: выражение компилируется в PHP код для последующего исполнения (код не зависит от среды выполнения)
- Исполнение: выражение исполняется без предварительной компиляции
Чтобы было возможно компилировать выражения в PHP код, не нуждающийся в модификации во время выполнения, оператор . должен быть явным и означать лишь одно возможное поведение: foo.bar — для свойств объекта, foo['bar'] для доступа к массиву, foo.getBar() для вызова методов.
Использование компонента просто на сколько это возможно:
use SymfonyComponentExpressionLanguageExpressionLanguage;
$language = new ExpressionLanguage();
echo $language->evaluate('1 + 1');
// echo 2
echo $language->compile('1 + 2');
// echo "(1 + 2)"
Язык выражений поддерживает все то же что и твиг: математические операторы, строки, числа, массивы, хеши, булевы переменные… Выражения могут рассматриваться как очень ограниченная PHP-песочница, в которой невозможны внешние воздействия, все переменные должны быть объявлены заранее до компиляции или исполнения выражения.
$language->evaluate('a.b', array('a' => new stdClass()));
$language->compile('a.b', array('a'));
Последнее, но не по значению — вы можете легко расширить функциональность языка. Они работают точно также как их аналоги в твиге (для подробного ознакомления посмотрите метод register())
Как на счет примеров использования? Мы встроили компонент во множество других компонентов, используемых в Symfony.
Читать полностью »
Набирается команда разработчиков DiemCms (OpenSource)
2013-11-01 в 6:50, admin, рубрики: cmf, cms, open source, symfony, symfony 2, метки: cmf, cms, open source, symfony 2Я давно следил за развитием этой CMS и активно использую ее в реализации как мелких так и крупных проектов. Год назад сообществом поднималась тема обновления этой CMS под Symfony2, но из-за ожидания релиза SymfonyCMF, так и не решились на реализацию.
На сегодняшний день SymfonyCMF уже готова к использованию, хоть и сыровата. И на ее основе можно реализовать весь функционал DiemCMS, в первый же день публикации этой идеи в сообществе откликнулись 6 человек, готовых принять участие в разработке, но этого мало.
SonataAdminBundle + AJAX загрузка файлов
2013-10-29 в 13:24, admin, рубрики: php, SonataAdminBundle, symfony, symfony2, uploader, метки: PHP, SonataAdminBundle, symfony2, uploader Всем приятного времени суток. В данной статье, я хочу рассмотреть 2 способа не совсем обычной загрузки файлов, которые мне по долгу службы пришлось реализовать на одном проекте. Задача стояла такая: необходимо реализовать Drag & Drop закачку файлов в админ части сайта, который был сделан на framefork’e Symfony 2.3.* + SonataAdminBundle. По ряду причин я опускаю ту часть, в которой Соната ставилась (если появится необходимость то можно и восполнить этот пробел). Итак, я полагаю что у вас уже установлена Соната и создана хотя бы одна сущность в папке Entity. Если же нет, давайте сделаем это. Добро пожаловать под кат:
Читать полностью »
Symfony CMF. Часть 1, хранение данных
2013-10-15 в 6:57, admin, рубрики: cms, php, symfony, symfony 2, symfony cmf, метки: symfony 2, symfony cmf 
Вместо предисловия
Я программирую на Yii уже два года и в последнее время начал засматриваться на Symfony Framework 2. Отчасти меня привлекает продуманная архитектура, отчасти слабая связность компонентов, отчасти гибкость построенных приложений. Сразу после того, как я разобрался с основным устройством нового фреймворка, мне стало интересно, возможно ли на нем построить CMS, а может быть, даже воспользоваться готовой.
Коробочного решения пока не придумали, однако, каким-то образом я забрел на сайт проекта Symfony CMF и оказался сражен наповал методичным подходом к решению тех проблем, с которыми я сталкивался в бытность работы на конвеере по натягиванию дизайна на какой-нибудь Друпал. На Хабре публикаций про именно CMF нет, да и сам проект еще очень сырой, однако в перспективе выглядит все интересно, хоть местами и есть к чему придраться.
Symfony CMF
Проект Symfony CMF призван упростить разработку функционала, присущего CMS, для всех, кто использует в работе Symfony Framework 2.
Основные особенности проекта:
- слабая связность компонентов
- масштабируемость
- удобство
- тестируемость
Стоит сделать акцент на слове CMF — проект не является CMS сам по себе, это именно фреймворк. В отличие от CMS, где все компоненты жестко завязаны друг на друге, в Symfony CMF вы:
- используете все, что хочется
- заменяете то, что не нравится
- игнорируете то, что не требуется
То есть, вам дан набор модульных инструментов для разработки, а не готовое приложение «под ключ», хотя уже разработаны базовые бандлы, обеспечивающие CMS-функционал.
Читать полностью »
Дайджест интересных новостей и материалов из мира PHP за последние две недели №25 (25.08.2013 — 08.09.2013)
2013-09-08 в 17:10, admin, рубрики: CakePHP, codeigniter, composer, doctrine, Go! AOP, Jenkins, laravel, php, PSR, rfc, silex, symfony, yii, zend framework 2, Zephir, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: cakephp, codeigniter, composer, doctrine, Go! AOP, Jenkins, laravel, PHP, PSR, rfc, silex, symfony, yii, zend framework 2, Zephir, Веб-разработка, дайджест, новости, подборка, ссылки .jpg)
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
HipHop VM: разведка боем под Debian 7 + Nginx + Symfony2
2013-08-13 в 18:48, admin, рубрики: debian 7, HipHop VM, nginx, php, symfony, symfony2, Серверная оптимизация, метки: debian 7, HipHop VM, nginx, symfony2
Последнее время много «шума» вокруг HipHop VM и kPHP: каждый социальный гигант своё детище хвалит. Больше всего интересовала связка, указанная в заголовке. О kPHP что-то говорить ещё рано, хотя уже заранее известно, что ООП не поддерживается. А вот HipHop VM уже можно пощупать. Кто-то об этом звере слышал, некоторые пытались устанавливать, некоторым это удавалось.
В топике описывается процедура установки HipHop VM из исходных кодов под Debian 7. Возможно, кому-то этот топик сэкономит время, нервы и поможет перешагнуть грабли, по которым прошлись мы.
Читать полностью »
Symfony2 и KnockoutJS — валидация форм
2013-08-02 в 7:26, admin, рубрики: javascript, knockoutjs, symfony, symfony2, валидация форм, Веб-разработка, метки: knockoutjs, symfony2, валидация форм Несколько месяцев назад я начал осваивать популярный PHP фреймворк Symfony2. Недавно передо мной встала задача проверки корректность заполнения формы на стороне клиента с применением библиотеки KnockoutJS. При этом правила валидации, дабы не заниматься дублированием кода, желательно брать из класса сущности Symfony.
Существует over 10.000 плагинов, библиотек и бандлов охватывающих какую-либо одну сторону проблемы. Комплексного решения мне найти так и не удалось. Оценив трудоёмкость объединения двух наиболее популярных решения (Knockout-Validation и APYJsFormValidationBundle) для первой и второй части задачи я решил написать всё с нуля. Подробности под катом.
Читать полностью »
