Перевод книги “Один год с Symfony”

UPD: Перевод завершен. Книгу брать тут: https://leanpub.com/a-year-with-symfony-ru

Рад вам анонсировать новый перевод за моим авторством. На текущий момент переведено чуть больше трети (если считать по страницам). Если не случится ничего экстраординарного, перевод будет закончен до конца этого года.

Аннотация:

Книгу “Один год с Symfony” написал разработчик из Голландии – Matthias Noback (http://php-and-symfony.matthiasnoback.nl/). Книга в английском варианте доступна на сайте leanpub – https://leanpub.com/a-year-with-symfony). Маттиас, по завершению работы над книгой, сделал её доступной бесплатно, так что вы можете обратиться к первоисточнику. Сам же я об этой книге я узнал случайно, из какой-то рассылки, как раз когда она стала бесплатной. Да, она про Symfony2, но она описывает и более общие принципы разработки нежели просто версию одного фреймворка, так что я полагаю, что эта книга еще долго будет актуальна. Во всяком случае для тех, кто использует Symfony3 она также “must read”.

Скачать книгу бесплатно (возможно потребуется регистрация на leanpub): https://leanpub.com/a-year-with-symfony-ru

Happy coding!

Конференция Symfony Camp Ukraine – Киев, 29 октября 2011

Коллеги, Украинские Symfony-джедаи попросили рассказать о важном событии в жизни коммьюнити – третьей конференции Symfony Camp, которая пройдет 29го октября сего года в Киеве:

Конференция Symfony Camp UA 2011

Несложно догадаться, что основной мотив данной конференции – вышедшая не так давно релиз-версия Symfony 2, поэтому приготовьтесь к куче чужого опыта и интересных граблей, на которые до вас уже наступили ))

Полный анонс можете посмотреть на специальной страничке, которую я создал по этому поводу – http://hudson.su/symfony-camp-ukraine/.

Enjoy!

PhpStorm: поддержка Symfony Command Line

Начиная с PhpStorm 2.0 можно использовать Symfony command line tool при помощи Command Line Tool Support.

Ниже приводится небольшое руководство по использованию. Вам понадобится PhpStorm 2.0 и Symfony 1.1 или более поздней версии (включая Symfony 2.0 BETA – в оригинальное руководство не входило, но мной проверено). Если у вас нет Symfony, руководство по установке вы можете найти здесь.

Continue reading

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

Symfony 2: конфигурирование пакетов

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

Простая конфигурация

Для простой конфигурации можно воспользоваться разделом parameters, по-умолчанию присутствующим в конфигурации Symfony2. Параметры – это простые пары ключ-значение; значением может быть любое валидное значение с точки зрения PHP. Каждое наименование параметра должно начинаться с наименования пакета в нижнем регистре (hello для HelloBundle, или sensio.social.blog для SensioSocialBlogBundle).

Continue reading

( PHP CLI & eAccelerator ) != love

На днях встал вопрос об оптимизации запуска cron-скриптов. Подавляющая часть – это таски symfony (т.е. выполняется что-то типа ./symfony namespace:taskname params) и даже в условиях использования nice они создают приличный оверхед на сервер.

В ходе разбора полетов решил уяснить, работает ли eAccelerator c php-cli. Собственно с подсказки @ibulatenko забрел на страницу http://eaccelerator.net/wiki/Faq, на которой черным по вебу написано в самом низу страницы:

Is eAccelerator working with php-cgi or php-cli?
This is not yet supported and it won’t be supported in the near future. However FastCGI is supported.

P.S. Судя по всему ни один акселератор не работает при использовании CLI интерфейса (по крайней мере точно известно про XCache, при этом там также написано что поскольку у CLI совершенно другой принцип работы, то и ожидать не стоит).

Symfony 2: пакеты, практические рекомендации

Пакет – прежде всего это директория, которая имеет строго определенную структуру и может содержать все что угодно (от классов, до контроллеров и web-ресурсов). Не смотря на то что пакеты очень гибки, вы должны следовать некоторым рекомендациям (best practices), если вы хотите выложить его в общий доступ. Об этих практиках мы и поговорим ниже:

Continue reading

Symfony 2 для разработчиков на symfony 1.x

Symfony 2.0 по сравнению с первой версией фреймворка шагнул далеко вперед. К счастью, MVC архитектура, лежащая в основе его ядра, позволяет использовать те же навыки, что вы использовали, разрабатывая приложения для symfony1 и для Symfony2. App.yml вы конечно тут не увидите, но маршрутизация, контроллеры и шаблоны сохранились.

В этой статье мы рассмотрим ключевые отличия между symfony1 and Symfony2. Как вы сможете увидеть, многие задачи там решаются несколько иными путями. И вы научитесь ценить эти небольшие изменения, так как они позволят вам разрабатывать стабильный, предсказуемый, тестируемый и независимый код в ваших будущих приложениях на Symfony2.

Итак, расслабьтесь, и внимайте.

Continue reading