На главную
  На главную  

Symfony2 текущий логотип О Symfony2 - PHP фреймворке который надеюсь увеличит мою эффективность

Symfony2 — PHP фреймворк

Недавно начал разбираться с PHP фреймворком Symfony2. Мощный и удобный инструмент разработки. По началу конечно скорость создания первого проекта ниже, чем с использованием привычных инструментов и подходов, но чувствую, что по мере увеличения понимания требования и структуры фреймворка, моя эффективность растёт (hope it's True).

Что понравилось

Очень радуют возможности шаблонизатора из-коробки Twig (ещё на хабре статейка). До этого я работал в основном только со Smarty, который тоже хорош, но чуть что-то более сложное и в нём приходится городить огород, чтобы реализовать. А Twig сильно больше наворочен — а значит мне удобен. Хотя чую, что шаблоны получаются более сложные, радующие программиста, но дизайнерам похоже с ним труднее работать.

Ещё конечно Doctrine. Тоже из-коробки :). Тут радости меньше, так-как чую, что это всё удобство даётся за счёт нехилого оверхеда, но пользоваться можно. Даже удобно, такой Enterprise-like код получается, как будто и не совсем РНР уже.
Как-то так:
    /**
     * Common Delete  Offer action
     * @param type $offerID
     */

    private function _deleteOfferAction( $offerID ) {
        $em = $this -> getDoctrine() -> getEntityManager();
        $offer = $em -> getRepository( 'QR1000MainBundle:Offer' )
                -> findOneById( $offerID );
        if ( $offer ) {
            $em -> remove( $offer );
            $em -> flush();
        }
    }
 

Ещё по мелочи:

MVC по умолчанию как основа фреймворка используется везде и всегда.

Сладкая плюшка РНР начиная с версии 5.3 — пространства имён

Используются везде, где нужно, очень на мой взгляд грамотно.

Качественная официальная документация

Всегда актуальная и очень детальная информация — отличный плюс в пользу фреймворка. Явился для меня важным критерием при выборе.

Далее буду выкладывать некоторые вещи, которые мне показались не настолько прозрачными, чтобы с ними разобраться в лёт.


  Как в .twig шаблоне найти подстроку в route или любой другой строке

Итак, возникла задача в twig шаблоне найти подстроку, всё оказалось просто..


Читать дальше Полный текст

  Особенности связывания сущностей

Итак возникает задача организовать отношение один-ко-многим для двух объектов в базе. В этой заметке расскажу как это делается в Symfony2 + Doctrine ORM. Неочевидные особенности синтаксиса и другая мелочёвка.


Читать дальше Полный текст

  Нехватка памяти при очистке кеша

Что можно сделать если при app/console cache:clear получаем Fatal error: Allowed memory size of XXX bytes exhausted


Читать дальше Полный текст


  Наверх