SlideShare a Scribd company logo
Symfony как платформа для
            open-source проектов
         (Sympal, Apostrophe, Diem)



Alex Demchenko
Обо мне

— Технический директор и тим лид
 компании Lazy Ants

—С Symfony уже больше 3х лет
—Активно поддерживаю Украинское
 Symfony community

—Открыто делюсь знаниями и опытом
Какой framework самый лучший?
Какой framework с отличной
документацией, большим живым
коммунити, с кучей сайтов на нем
  и Open Source проектами?
Почему Symfony?
Open Source
Мы тоже не лыком шиты!
Sympal
Идея
что-то похожее на Drupal,
 но с MVC и ORM внутри
Symfony + Drupal = Sympal
        +       =
Разработчик
Jonathan H. Wage
После установки
Dashboard предельно ясен
Состав

- sfSympalPlugin                - sfContentFilterPlugin
- sfSympalAdminPlugin           - sfDoctrinePlugin
- sfSympalAssetsPlugin          - sfFormExtraPlugin
- sfSympalEditorPlugin          - sfThemePlugin
- sfSympalInstallPlugin                   4
- sfSympalMenuPlugin
- sfSympalPluginManagerPlugin
- sfSympalRenderingPlugin
- sfSympalUpgradePlugin
            9
Возможности
Установка
—Установка через браузер
—Либо через командную строку
$ php symfony generate:project sympal --installer=installer.php

—Используется отдельно либо с
   существующим проектом
Мультисайты
Меню
—Отображение это 1 запрос
—Несколько различных меню
—Легко управляемые подменю
—sfSympalMenuPlugin независим
Типы содержимого
          Content types

—2 типа по умолчанию (Старница, Список)
—Легко добавить новый тип
—Генерация плагинов с учетом типа
 содержимого на лету
Менеджер плагинов
—Установка из CLI или через браузер
—Автоматическая загрузка с помощью
 symfony plugin:install или напрямую из svn
А ещё...
—Конфигурирование через yaml и веб
—Интернационализация, вплоть до url
—Мультитемы
—Оптимизация под поисковики
—...
    http://www.sympalphp.org
Но!
Использовать живый проектах
           рано
А почему?

— Основной разработчик в другом проекте, doctrine
— Большое количество багов, низкая скорость решений
— Слабое комьюнити
Король мертв —
да здравствует Король
Apostrophe
Гибкая CMS c
минимальным временем
     на обучение
Основной разработчик

    P'unk Avenue
минутная установка из CLI
$ svn co http://svn.apostrophenow.org/sandboxes/asandbox/branches/1.4
Symfony без CC, как ...
$ php symfony cc
$ php symfony plugin:publish-assets
$ php symfony doctrine:build --all
и... ВОЛШЕБНАЯ команда



$ php symfony apostrophe:demo-fixtures
Wordpress нервно дышит
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Почему      стоит
  использовать?
—Удобный интерфейс
—Все редактируется в контексте сайта
—Настраиваемые под любое
 содержание секции в шаблонах
—Ваши клиенты смогут добавлять
 любой контент и не сверлить вам
 мозг
—Управлять медиа контентом
 (изображения, видео, pdf)
—Добавлять и редактировать слайд-шоу
—На лету добавлять записи в блог,
 новые страницы, события ...
—Откатывать назад изменения
—Скрывать / Публиковать любые
 страницы
—Назначать права на любые страницы
—Полнотекстовый поиск




Zend Lucene — требует допила, для работы с русскими символами
—Свободная расширяемость
—Простое добавление своих
 модулей
—Слотов для редактирования в
 контексте
Самое главное...
Все, работает!
Но это же CMS,
   а я хочу
   пилить!
Diem
content management
  framework (CMF)
Детище французской
     компании
     intuiti.net
Как у framework’a ничего
  не предустановленно
Как у CMS
готовая админ панель
   — Конфигурирование
   — Аналитика
   — SEO
   — I18N
   — Медиа
   — Поиск
   — ...
$ php lib/vendor/diem/install
За 5 минут
Пройдя курс молодого бойца
Что внутри?
Что внутри?




Виджеты
Виджеты языком symfony
—Components
—Partials
Отличие в том что
    Виджеты
   таскаются
     (drag&drop)
—Это помогает упростить процесс
—видеть результаты в реальном
 времени
Помимо виджетов
Панель управления
SEO
Ручной и автоматический режимы
Редактирование в
 контексте сайта
Сквозное управление медиа
Максимальная
   производительность

—Использование кеша Symfony, APC
—Автоматическое сжатие и сборка Js
 и Css файлов
Редактор кода
Консоль!
Наш любимый
Zend Search Lucene
А где же гибкость и
 рассширяемость?
Каждая часть Diem
         это Service

Symfony Dependency Injection Container
—Мы можем создать свои
—Расширять либо заменять
 существующие
Deim максимально
     использует
Symfony Event Dispatcher
—Связывает компоненты между
 собой и делает их независимыми
—Позволяет влиять на работу
 компонент не расширяя их
Готовый набор плагинов
Отличная документация
Кроме того:
—Высокие темпы разработки
—порядка 4000 тестов
—живое комьюнити
http://diem-project.org
Что еще из open source?

 http://trac.symfony-project.org/
               wiki/
ApplicationsDevelopedWithSymfony
Вопросы?
Alex Demchenko
alex@lazy-ants.de

  lazy-ants.de
  451f.com.ua

More Related Content

PPTX
Chrome push notifications. Анатомия и разработка
PPT
Использование Symfony
PDF
Phalcon. Что нового?
PDF
Phalcon - самый быстрый PHP Framework
PDF
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
PDF
Микрофреймворки на PHP (Андрей Синицын)
PPTX
PPT
Основы Symfony и отличия Sf 3.x от Sf 2.x
Chrome push notifications. Анатомия и разработка
Использование Symfony
Phalcon. Что нового?
Phalcon - самый быстрый PHP Framework
Сергей Яковлев "Phalcon 2 - стабилизация и производительность"
Микрофреймворки на PHP (Андрей Синицын)
Основы Symfony и отличия Sf 3.x от Sf 2.x

What's hot (17)

PPTX
Александр Трищенко: Phalcon framework
PDF
Telegram Bot
PPT
Catalyst – MVC framework на Perl (RIT 2008)
ODP
флеш и сервер
PDF
Symfony как микрофреймворк
PPTX
Браузеры
PPTX
живу в Google Chrome #1
PDF
JS Lab2017_Сергей Селецкий_System.js и jspm
PPTX
Best Browser
PPTX
Знакомство с WebAssembly
PPT
Flex Data Access
ODP
DevOps в реальном времени
PPTX
Browsers. Description
PPTX
Streaming media servers: FMS/Wowza
PPTX
Обзор популярных плагинов WordPress
PDF
Фронтенд разработка без боли
PPT
Web programming modern tendencies
Александр Трищенко: Phalcon framework
Telegram Bot
Catalyst – MVC framework на Perl (RIT 2008)
флеш и сервер
Symfony как микрофреймворк
Браузеры
живу в Google Chrome #1
JS Lab2017_Сергей Селецкий_System.js и jspm
Best Browser
Знакомство с WebAssembly
Flex Data Access
DevOps в реальном времени
Browsers. Description
Streaming media servers: FMS/Wowza
Обзор популярных плагинов WordPress
Фронтенд разработка без боли
Web programming modern tendencies
Ad

Viewers also liked (7)

PDF
SymfonyConf IV.2016 - Реанимация проектов на Symfony
PDF
Symfony and SSL
PDF
PaymentSuite
ODP
Marcos quesada caching_sf2
PDF
Advanced symfony Techniques
PDF
Redis–symfony–barcelona–31 05-2012
PDF
30 Symfony Best Practices
SymfonyConf IV.2016 - Реанимация проектов на Symfony
Symfony and SSL
PaymentSuite
Marcos quesada caching_sf2
Advanced symfony Techniques
Redis–symfony–barcelona–31 05-2012
30 Symfony Best Practices
Ad

Similar to Symfony as the platform for open source projects (sympal, apostrophe, diem) (20)

PPT
[JAM 1.1] Symfony (Alexei Yanochkin)
PPTX
1_symfony_introduction.pptx
PPTX
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
PPTX
Основные возможности Symfony 2
PDF
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
PDF
PUG #9 at OWOX: Symfony 4. Новый подход к созданию приложений
PDF
[JAM 1.0] CMS. Обзор. (Alexei Yanochkin)
PDF
12 reasons to love symfony2
PPT
Кастомизация генераторов в Symfony 1.3/1.4
PPT
Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.
PDF
Роман Еникеев - PHP или откуда взялся слон
PDF
Drupal 8: Теперь со вкусом Symfony
PDF
Техническая разработка сайтов
PDF
техническая разработка сайтов(2)
PPTX
Php and frameworks
PPT
Воюем за ресурсы (ZFConf2011)
PDF
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
PDF
Symfony2 – reload?
[JAM 1.1] Symfony (Alexei Yanochkin)
1_symfony_introduction.pptx
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
Основные возможности Symfony 2
Устройство фреймворка symfony 2 (http://frontend-dev.ru)
PUG #9 at OWOX: Symfony 4. Новый подход к созданию приложений
[JAM 1.0] CMS. Обзор. (Alexei Yanochkin)
12 reasons to love symfony2
Кастомизация генераторов в Symfony 1.3/1.4
Tasks (batch) in Symfony. Symfony Camp Presentation 2010 UA.
Роман Еникеев - PHP или откуда взялся слон
Drupal 8: Теперь со вкусом Symfony
Техническая разработка сайтов
техническая разработка сайтов(2)
Php and frameworks
Воюем за ресурсы (ZFConf2011)
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Symfony2 – reload?

More from Alex Demchenko (9)

PDF
Kонструируем микросервисную архитектуру на Symfony и связываем с Kong
PDF
Symfony + GraphQL
PDF
How to choose Chatbot platform & wtf is ML, DL, NLP, NLU, CA
PDF
Auto deploy symfony app with codeship and elastic beanstalk
PDF
Symfony2 start
PDF
Twig, что за..
KEY
Symfony camp ua 2010 stats
PDF
Routing System In Symfony 1.2
PDF
Symfony Project Publication
Kонструируем микросервисную архитектуру на Symfony и связываем с Kong
Symfony + GraphQL
How to choose Chatbot platform & wtf is ML, DL, NLP, NLU, CA
Auto deploy symfony app with codeship and elastic beanstalk
Symfony2 start
Twig, что за..
Symfony camp ua 2010 stats
Routing System In Symfony 1.2
Symfony Project Publication

Symfony as the platform for open source projects (sympal, apostrophe, diem)