Symfony

Первым делом хочу поблагодарить своего коллегу YS-PRO за cheap NBA jerseys то, что он поведал мне об этом замечательном фреймворке (и за книгу “Definitive guide to symfony”).

Symfony – отлично продуманный и легкий в изучении фреймворк. Написан исключительно на PHP5. Он создан для быстрого создания веб приложений (большинство работы symfony сделает за Вас 😉 Не полный список преимуществ:

– простая установка и стабильная работа в Windows и *nix системах
– независимость от базы данных (поддерживаются MySQL, PostgreSQL, MS-SQL, SQLite, Oracle) – используется ORM (Propel + Creole)
– представление состоит из шаблонов и layouts, которые могут быть созданы дизайнерами без знания symfony

– поддержка автоматизированной валидации форм
– автоматическая очистка пользовательского ввода (для избежания SQL инъекций и XSS аттак)
– ЧПУ (человеко понятные урлы)
– Работа с Ajax, средства для постраничного вывода списков, их фильтрации и сортировки
– автоматизация создания административной части

Что ж, попробуем symfony на своем локальном Apache.

Скачать symfony можно здесь: http://www.symfony-project.org/content/download
Затем распаковываем архив wholesale Arizona Cardinals jerseys на свой локальный сервер.

Большинство действий выполняются из командной строки при помощи утилиты symfony (/data/bin/symfony.bat). Так что сразу добавим ее в путь поиска Windows (PATH). Идем в Система->Свойства->Дополнительно->Переменные среды и добавляем путь к symfony.bat в переменную wholesale NBA jerseys PATH.

Теперь создадим проект. Для этого добавляем пустую директорию (например helloSymfony) в корень symfony. Из коммандной строки вызываем symfony init-project helloSymfony (все комманды нужно вызывать из корневого каталога вашего проекта). Symfony создаст следующее дерево каталогов:

apps/
batch/
cache/
config/
data/
doc/
lib/
log/
plugins/
test/
web/

Пожалуй, самой важной директорией для нас является apps – она предназначена для всех приложений проекта.
Следующий шаг – of создание приложения (проект должен состоять хотя бы из одного приложения):

symfony init-app helloSymfonyApp

Symfony создаст такую структуру директорий:

apps/
helloSymfonyApp/
config/
i18n/
lib/
modules/
templates/
web/
index.php
helloSymfonyApp_dev.php

Теперь нам нужно сконфигурировать сервер. Делаем доступной для пользователя папку wholesale NFL jerseys web WordPress! (это будет корнем нашего сайта) – Lexus добавляем moja VirtualHost hello.
Здесь index.php – точка входа (Front Controller), а helloSymfonyApp_dev.php – точка входа для разработчика (symfony предоставляет средства отладки).

Приложение состоит из модулей (страниц). Добавим страницу home в наше приложение helloSymfonyApp:

symfony init-module helloSymfonyApp home

В следствии чего добавляется еще несколько директорий для модуля 😉
Самым интересным здесь cheap NBA jerseys является сгенерированный класс в Freaking actions/actions.class.php

Это – сердце нашей страницы home – контроллер. Он выполняет некоторые действия (определяет данные для представления) и передает управление шаблону (представлению).
В кратце: каждый метод, начинающийся с executeЧТО-ТО передает управление шаблону под именем ЧТО-ТОSuccess.php, который находится в папке templates данного модуля (о других типах методов и шаблонов расскажу позже).

Теперь попросим symfony поприветствовать нас. Добавим новый метод в homeActions:

Чтобы отобразить приветствие создаем шаблон sayHelloSuccess.php (в папке templates):

(смотрим в браузере http://hello/helloSymfonyApp_dev.php/home/sayHello/ )

Как видите, все очень просто: в контроллере мы задаем переменную как $this->имя_переменной, а в представлении она доступна, как обычная переменная.

To be continued… 😉

  • Хороший фреймворк, не поспоришь )…

  • “создан для быстрого создания веб приложений”
    в symfony 1.1 уже другая тенденция, больше в сторону масштабируемости
    http://partweb.ru/articles/symfony11

  • Почитал сравнение Symfony vs Ruby On Rails vs Django… короче Django всех сделал… ножом по сердцу )

  • Дизайн студия Artsofte активно развивает и поддерживает специальный блог по symfony – http://symfony.artsofte.ru/
    Приглашаем к сотрудничеству.

  • Хочу в скором времени приобщиться к группе разработчиков, использующих Symfony) Ищу полные толковые гайды. Подскажешь? (на мыло там, или мне в блог, а то у тебя нельзя подписаться на обновление каментов)