Использование строки в качестве Twig шаблона в Symfony2

  • PHP
  • 4 года назад

Я переключил свой предпочтительный метод на использование класса Twig_Loader_Chain. Этот метод позволяет назначить несколько загрузчиков в один экземпляр Twig_Environment, так что вы сможете прозрачно обрабатывать шаблоны из файлов или из строк. В нижней части статьи вы увидите описание этого метода.

Для того, чтобы создать twig шаблон требуется экземпляр класса Twig_Environment. Этот класс содержит метод render, который возвращает обработанный результат из twig шаблона (обычно из файла). Twig Environment использует загрузчик классов, который реализует интерфейс Twig_LoaderInterface, этот класс загружает данные из хранилища (файл, база данных) для последующего их анализа шаблонизатором. По умолчанию Symfony2 использует класс Twig_Loader_Filesystem, который загружает данные шаблонов из файлов, для того чтобы создать шаблон из строки нам нужен экземпляр Twig_Environment, который для получения данных, использует класс Twig_Loader_String. Есть несколько способов, как вы можете это сделать, самый простой способ - это создать экземпляр Twig_Environment и и в качестве загрузчика передать ему экземпляр класса Twig_Loader_String (этот код можно поместить внутри вашего контроллера):

Читать далее...

Тестирование веб-приложений с помощью Codeception

  • PHP
  • 4 года назад

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

Читать далее...

Тестирование Symfony 2 приложений с помощью codeception

  • PHP
  • 4 года назад

Какие преимущества вы получаете, используя Codeception с Symfony2? Давайте перечислим все из них:

  • удобный синтаксис для функциональных тестов
  • доступ к контейнеру в юнит-тестах
  • тестирования REST и SOAP сервисов, созданных с помощью Symfony
  • быстрая очистка данных при использовании Doctrine2

Установка очень проста. Вы можете использовать Composer (как вы обычно это делаете), но мы рекомендуем попробовать phar package. В этом случае вы можете избежать ненужных зависимостей. Но оба варианта равнозначны. Чтобы установить codeception через composer необходимо добавить в composer.json следующий код, а затем обновить:

Читать далее...

Создание слайдера используя twitter bootstrap 3

  • CSS
  • 4 года назад

Twitter Bootstrap 3 один из лучших CSS фреймворков для разработки и дизайна систем управления содержимым. С помощью него с лёгкостью можно создавать блоги или страницы портфолио используя систему сеток Twitter Bootstrap (grid layout). В основе многих систем CMS есть базовый компонент “Слайдер” (Carousel), в основном - это последовательное автоматическое отображение изображений, но слайдер может быть каким-угодно: он может отображать последние выполненные проекты, отзывы ваших клиентов, описание специальных предложений, ссылки на новости или последние статьи из вашего блога. В этой статье, мы изучим то, как создать слайдер используя Twitter Bootstrap 3 Carousel компонент.

Читать далее...

Несколько простых способов увеличить производительность PHP

  • PHP
  • 4 года назад

Чтобы сделать сайт более производительным необходимо подключить множество дополнительных слоёв. От создания обратного-прокси кеша с Varnish до конфигурирования группы балансировщиков нагрузки. И для этого есть много хорошо документированных вариантов.

Но, что делать если вы только начинаете? Что делать если у вас небольшое приложение? Что вы можете сделать прямо сейчас, чтобы сразу почувствовать разницу в производительности?

Читать далее...