Как известно у Symfony 2 в Doctrine 2 из «коробки» нет поддержки некоторых стандартных функций Mysql, таких как UNIX_TIMESTAMP или ROUND и еще несколько других. В первую очередь статья для того чтобы понять как дополнять DQL своими функциями. Но перед написанием как следует «похабрить» и по «гитхабить», а вдруг уже кто-то написал, советую не городить велосипеды и воспользоваться уже готовыми наработками, например GitHub MysqlDoctrineFunctions
Статья больше подходит для новичков.
Читать полностью »
Рубрика «symfony» - 28
UNIX_TIMESTAMP, ROUND и другие DQL запросы через queryBuilder в Symfony 2
2014-01-21 в 12:30, admin, рубрики: doctrine 2, Doctrine ORM, php, symfony, symfony2, метки: doctrine 2, symfony2Лучшие PHP фреймворки 2013
2013-12-29 в 7:35, admin, рубрики: codeigniter, laravel, phalcon, php, symfony, symfony2, yii, Zend Framework, метки: codeigniter, laravel, phalcon, PHP, symfony, symfony2, yii, zend framework Я был в шоке!!!
После 2-х недельного опроса на PHP Weekly
Первое место… та-да… Laravel
Второе Phalcon
Третье symfony
4- делят Yii с Codeigniter
Читать полностью »
Интеграция аутентификации Symfony2 и трекера Jira
2013-12-21 в 17:38, admin, рубрики: php, symfony, symfony2, метки: PHP, symfony2Здравствуйте, Хабросообщество. В этой статье хочу рассказать, как можно подружить известный фреймворк Symfony2 и не менее известный трекер Jira.
Зачем связывать Jira и Symfony2?
В компании, где я работаю, возникла необходимость связать систему саппорта и трекер задач через API, чтобы заявки от клиентов могли быть легко преобразованы в тикеты. Первостепенной проблемой, которая встала на нашем пути, была интеграция аутентификации Jira (использовался механизм “Basic Authentication”) и системы безопасности Symfony2. Для понимания механизмов аутентификации и авторизации фреймворка необходимо ознакомиться с официальной документацией: http://symfony.com/doc/current/book/security.html.
Читать полностью »
$7M инвестиций в Symfony
2013-12-16 в 10:39, admin, рубрики: php, symfony, инвестиции, метки: symfony, инвестицииСегодня Фабиен Потенсьер сообщил, что SensioLabs смогла привлечь €5 млн евро (около $7 млн) на развитие Symfony и экосистемы фреймворка.
Фабиен замечает, что несмотря на наличие таких крупных игроков в мире PHP, как Automattic, Acquia и Zend, привлечение здесь инвестиций подобного размера — дело нечастое.
Что изменится для Symfony? Разработку Symfony Фабиен начал 7 лет назад, поставив своей целью улучшить уровень использования PHP в компаниях и создать фреймворк, реализующий часть лучших практик программирования. Поэтому лицензия останется прежней (MIT), и разработчики не намерены ее менять в будущем или создавать условно-бесплатную версию фреймворка — по их мнению, это попросту не имеет смысла. На полученные деньги планируется развивать экосистему, окружающую Symfony — бандлы (уже создано более 2200 бандлов) и приложения (CRM/CMS/e-commerce, сделанные на Symfony), а также улучшить средства разработки при помощи фреймворка.
Читать полностью »
А как вы выводите дату в зависимости от локации?
2013-12-05 в 20:06, admin, рубрики: datetime, php, symfony, symfony2, метки: datetime, PHP, symfony2 Всем доброго времени суток. В первую очередь хочется сказать спасибо всем кто принял участие в этом опросе. Так или иначе стало понятно, что смысл в подобного рода статьям все таки есть. Итак, ниже речь пойдет о функции которую волею случая мне пришлось написать, так как готового решения — увы не нашлось. Собсвенно сам вопрос — а как вы выводите дату в зависимости от локации? Интересно? Прошу под кат.
Читать полностью »
Еще раз о Security в Symfony2 подход user-resource-privilege
2013-11-23 в 11:36, admin, рубрики: php, security, symfony, symfony2, метки: security, symfony2 Не так давно взялся за Symfony2. Не смотря на то, что до этого имел достаточно богатый опыт общения с Zend1, барьер входа для меня оказался высоким. Вдоволь начитавшись у меня начало что-то получаться. Наибольшие затруднения вызвал вопрос разграничения прав доступа. Практически все мои поиски выводили меня на FOSUserBundle или обрывки информации о том, как можно расширить функционал модуля Security из стандартной поставки фреймворка. Каких-либо преимуществ для себя в громоздком FOSUserBundle я не обнаружил. Поэтому эта статья будет о том, как я допиливал Symfony2 Security под свои нужды. Цель была следующая: symfony2 + security + разграничение прав доступа на уровне объекта в зависимости от роли пользователя. В этой статье не будет ничего про наследование ролей и кумулятивные привилегии, информацию о которых вы, без труда, найдете сами. Схема прав в моем проекте: запрещено все, что не разрешено. Один пользователь имеет строго одну роль. Роль имеет доступ к различным ресурсам с различным набором привилегий. Разные роли могут иметь доступ к одним и тем же ресурсам с разными или равными наборами привилегий. Я не буду пытаться сделать код максимально абстрактным, а просто буду использовать фрагменты из своего проекта, связанные с функциональностью заказ-нарядов на обслуживание техники.
Читать полностью »
Есть ли смысл в статьях для тех кто начинает изучать Symfony
2013-11-18 в 20:16, admin, рубрики: php, symfony, symfony2, опрос, метки: PHP, symfony2, опрос Доброго времени сутоке. Собственно хотелось бы узнать ваше мнение. Есть ли вообще смысл в написание статей посвященных Symfony 2?
Читать полностью »
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.
Читать полностью »