Symfony2 book: Основы Symfony2 и HTTP / Symfony2 and HTTP Fundamentals

Обновление от Августа 2016: перевод документации Symfony 2 на русский опубликован в виде бесплатной книги на сайте Leanpub. Узнать подробности.

Данный перевод главы Symfony2 and HTTP Fundamentals публикуется с разрешения автора:

Канат Гайлимов
Web-разработчик, блогер
http://gailimov.info

Поздравляем! Изучая Symfony2, вы становитесь на правильный (истинный) путь и будете более продуктивным, всесторонним и популярным веб-разработчиком (на самом деле, 2 последних пункта на ваше усмотрение). Symfony2 построен так, чтобы вернуться к основам: разработаны инструменты, которые позволят вам разрабатывать быстрее и создавать более надежные приложения, оставаясь вне вашего пути. Symfony построен на лучших идеях многих технологий: инструменты и концепции, которые вы собираетесь изучать, представляют усилия тысячи людей, в течении многих лет. Другими словами, вы не просто изучаете “Symfony”, вы изучаете основы веб, лучшие практики разработки, и как пользоваться многими новыми, удивительные PHP-библиотеки, внутри или независимо от Symfony2. Итак, приготовьтесь.

Оставаясь верной философии Symfony2, эта глава начинается с объяснений основных концепций, общих для веб-разработки: HTTP. Независимо от вашего происхождения или языка программирования, эта глава обязательна к прочтению для всех.

Continue reading

Symfony2 book: Основы создания страниц / The Basics of Page Creation

Обновление от Августа 2016: перевод документации Symfony 2 на русский опубликован в виде бесплатной книги на сайте Leanpub. Узнать подробности.

 

Создание новой страницы в Symfony2 это простой процесс, состоящий из 2 шагов:

  • Создание маршрута:
    Маршрут определяет URI (например /about) для вашей страницы, а также контроллер (PHP функция), который Symfony2 должен выполнить, когда URI входящего запроса совпадет шаблоном маршрута;
  • Создание контроллера:
    Контроллер – это PHP функция, которая принимает входящий запрос и трансформирует его в объект Response (ответ).

Нам нравится такой подход, потому что он соответствует тому как работает Web. Каждое взаимодействие в Web инициализируется HTTP запросом. Забота вашего приложения – интерпретировать запрос и вернуть соответствующий ответ. Symfony2 следует этой философии и предлагает вам инструменты и соглашения, для того чтобы ваше приложение оставалось структурированным при росте его сложности.
Continue reading

Symfony2: аналог preExecute() для контроллера

Я думаю многих смущает отсутствие preExecute в стандартном контроллере Symfony2. Ниже я приведу возможное решение данного вопроса при помощи внедрения зависимости через Service Container (Оригинал подсмотрен у Szymon Szewczyk).

UPDATE 20 января 2012: статья обновлена в соответствии с современными реалиями SF 2.0.9 (фактически изменения коснулись именования тага и события)

Continue reading

Symfony2: выборка случайной записи при помощи Doctrine2 Repository

Я уже рассматривал в одной из прошлых статей случайные выборки (см.). Сейчас мы самым простым способом интегрируем получение случайной записи в Symfony2 проект при помощи Doctrine2 Repository.

Continue reading

Symfony2: доступ к одной службе из другой

По результатам опроса о чем написать, естественно большинство захотело известий с полей. На большую статью пока не замахиваюсь, но по мере появления интересных сниппетов постараюсь ими делиться.

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

Положим у нас в нашем пакете есть служба Company\SuperBundle\Service\CoolService описываемая следующей конфигурацией:

Continue reading

Symfony2 Глоссарий

Для того чтобы эффективно общаться между собой, люди (и программисты не исключение) заранее договариваются о некоторой базовой терминологии, поэтому перевод Symfony2 the Book, я хочу начать с небольшого глоссария, терминологию которого я буду использовать в дальнейшем.

Continue reading

Symfony 2, трудности перевода

На сайте Symfony2.com появилось так много новой информации что прямо теряюсь – что переводить в первую очередь. С одной стороны по порядку – вроде бы логично, но пока дойдешь до интересных статей… С другой стороны непонятно какой кусок наиболее интересен. Поэтому попробую провести эксперимент и создать опрос:

Continue reading