Необходимо создать простой одностраничный корпоративный сайт, например 4devs.org. Для этого будет использоваться проект "fdevs/company-site" основаный на Symfony2. В проекте уже установлены базовые библиотеки, необходимые для корпоративного сайта.
Необходимо локализировать дату, к примеру "2 ноября 2014", в проекте. Стандартный фильтр Twig date не дает такой возможности.
Есть TwigExtension позволяющий локализировать дату в зависимости от вашей локали.
Добавим и установим пакет с помощью composer.json(в стандартном пакете Symfony2 он уже установлен),
"twig/extensions": "~1.1"
а в Symfony 2 подключим расширение, в файл config.yml добавим сервис:
services:
twig.extension.intl:
class: Twig_Extensions_Extension_Intl
tags:
- { name: twig.extension }
В наших шаблонах можем использовать localizeddate.
Например:
{{ post.published_at|localizeddate('medium', 'none', locale) }}
Данный вариант очень прост в подключении и использовании.
Недавно у меня возникла необходимость прописать один из пакетов nodejs как зависимость для моего Symfony бандла. Как скормить composer'у такой пакет я не знал. Далее я хочу рассказать о том, какие варианты решения я рассматривал, на каком из них в итоге остановился и почему именно на нем. Также хочу сказать, что способы применимы не только при написании бандлов, но и любых библиотек.
Symfony вместе с DoctrineORM позволяет использовать CRUD генератор в своих приложениях.
Рассмотрим использование CRUD(Create\Read\Update\Delete) на практике. У нас уже установлена Symfony 2.5, при этом используется структура директорий версии 3.0, также создана база в Mysql.
Создадим небольшое веб приложение для добавления книг и других данных в таблицу. Итогом у нас будет возможность добавления/удаления/редактирования книги, автора, издательства в базу данных.
- сервер задач/очередей, позволяющий выполнять множество полезных действий, таких как:
- балансировка нагрузки
- распараллеливание процессов
- взаимодействие модулей, написанных на разных языках программирования
- построение приложений с распределенной архитектурой
- вынесение медленных и тяжелых задач в фоновый режим для ускорения реакции приложения на действия пользователя
Git является отличным DCVS, и работать с ним одно удовольствие, однако, как любителя работать с ним через терминал, меня порой утомлял постоянный ввод одних и тех же длинных команд. К счастью у git'а есть лекарство и для этого случая и оно называется Alias.
Рассмотрим подробности установки инструментов разработчика на OSx. Итогом будет рабочий проект. То есть должны работать все зависимости для Symfony. Мы также установим и настроим MongoBD. MAMP расшифровывается как Mac Apache MySQL PHP. В нашем случае это Mac Apache Mongo PHP.
Всем приятного времени суток. В данной статье, я хочу рассмотреть 2 способа не совсем обычной загрузки файлов, которые мне по долгу службы пришлось реализовать на одном проекте. Задача стояла такая: необходимо реализовать Drag & Drop закачку файлов в админ части сайта, который был сделан на framefork’e Symfony 2.3 + SonataAdminBundle. По ряду причин я опускаю ту часть, в которой Соната ставилась (если появится необходимость то можно и восполнить этот пробел). Итак, я полагаю что у вас уже установлена Соната и создана хотябы одна сущность в папке Entity. Если же нет, давайте сделаем это.
Раньше я уже писал об автозагрузке классов в PHP. Сегодня я хотел бы рассмотреть как реализован автозагрузчик классов в Composer и какие возможности он имеет.