Symfony 2 Joboard : Начинаем проект

В каждой главе, в приложение будут добавляться новые функции и мы будем использовать такой подход для постепенного введения в Symfony фреймворк, а также узнаем о передовом опыте в веб-разработке на Symfony.

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

Прежде всего вам нужно проверить, что ваш компьютер имеет соотвествующее программное обеспечение для веб-разработки. В качестве операционной системы мы будем использовать Ubuntu 12. Из ПО как минимум нам потребуется веб-сервер Apache, СУБД MySQL и PHP 5.3.3 или более поздней версии. Для Windows рекомендую установить XAMPP или OpenServer, там есть все библиотеки и уже настроено окружение для разработчика. Также вместо сервера Apache вы можете использовать встроенный сервер в php 5.4 и выше, как это сделать буде тпоказано ниже.

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

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

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

Я переключил свой предпочтительный метод на использование класса 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
  • 3 года назад

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

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

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

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

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

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

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

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

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

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

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

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

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