Successfully reported this slideshow.

Un CMS in 25min con Symfony CMF

0

Share

Upcoming SlideShare
Swoole Overview
Swoole Overview
Loading in …3
×
1 of 33
1 of 33

Un CMS in 25min con Symfony CMF

0

Share

Download to read offline

Il Symfony CMF è maturo e ci permette di creare le basi per un content manager integrandolo direttamente in applicazioni Symfony nuove o già esistenti.

Il Symfony CMF è maturo e ci permette di creare le basi per un content manager integrandolo direttamente in applicazioni Symfony nuove o già esistenti.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Un CMS in 25min con Symfony CMF

  1. 1. Un CMS in 25 minuti Come assemblare i componenti del Symfony CMF (e non solo) per creare qualcosa che funzioni
  2. 2. Un anno fa Un CMS in 25 ore e una vita per capire cosa ho combinato Come assemblare i componenti del Symfony CMF (e non solo) per creare qualcosa che funzioni
  3. 3. Un CMS in 30 sec SE Oggi ho capito cosa c’è dietro Come assemblare i componenti del Symfony CMF (e non solo) per creare qualcosa che funzioni
  4. 4. Cosa non è il CMF
  5. 5. Cosa è il CMF https://github.com/symfony-cmf
  6. 6. Possiamo creare cose grandi
  7. 7. … o meno
  8. 8. composer.json "require": { "symfony-cmf/symfony-cmf": "1.1.*", "jackalope/jackalope-doctrine-dbal": "1.1.*", "sonata-project/doctrine-phpcr-admin-bundle": "1.1.*", "sonata-project/doctrine-orm-admin-bundle": "~2.2", "sonata-project/media-bundle": "~2.3@dev", "tilleuls/ckeditor-sonata-media-bundle": "dev-master", "egeloen/ckeditor-bundle": “~2.0" }
  9. 9. Bundles ! • CoreBundle • RoutingBundle • MenuBundle • TreeBrowserBundle • BlockBundle ! • RoutingAutoBundle • MediaBundle • CreateBundle • SearchBundle • SeoBundle
  10. 10. Documentazione
  11. 11. Read the source Luke • ContentBundle • SimpleCmsBundle • BlogBundle
  12. 12. JCR The JSR-283 and 333 specification defines an API for a Content Repository (CR) PHPCR The PHP Content Repository Interfaces aims to provide that API in PHP
  13. 13. doctrine/ DoctrinePHPCRBundle doctrine/phpcr-odm jackalope/jackalope midgard/phpcr Doctrine PHPCR ODM implementation layer SymfonyBundle PHPCR CR JCR-like implementation
  14. 14. jackalope/jackalope-jackrabbit jackalope/jackalope-doctrine- dbal midgard has built-it transport layer jackalope/jackalope midgard/phpcr PHPCR Transport implementation Storage Jackrabbit MySQL, SQLite, Postgres MySQL, SQLite, Postgres PHPCR CR JCR-like implementation
  15. 15. Jackrabbit Derby Oracle MySQL … Filesystem
  16. 16. SfDay 2014 live webcam
  17. 17. Contents cms! contents primo tortellini lasagne tagliatelle secondo abbacchio bagnacauda casadei menu primi secondi chi-siamo ! Struttura ad albero non solo per gli “articoli” ma anche per menu, rotte, …
  18. 18. Esempio di articolo con annotazione PHPCR
  19. 19. Find e remove di documenti
  20. 20. Routing
  21. 21. Routing cmf_routing:" chain:" routers_by_id:" router.default: 200" cmf_routing.dynamic_router: 100"
  22. 22. Routing cmf_routing:" dynamic:" generic_controller:oln.content.controller:contentAction" controllers_by_type:" pippo: ideato.controller:indexAction" controllers_by_class:" IdeatoMyBundleDocumentCategory:" " " " content.controller:categoryAction" IdeatoMyBundleDocumentArticle:" " " " content.controller:articleAction" templates_by_class:" IdeatoMyBundleDocumentPage:" " " " " IdeatoMyBundle:Default:content.html.twig
  23. 23. Menù • Menu e MenuNode • possono essere collegati a documenti • possono essere delle rotte di sf (comprese di parametri) • possono essere dei link verso URI
  24. 24. Menù $menusRoot = $manager->find(null, “/cms/menus");" $menu = new Menu();" $menu->setPosition($menusRoot, "main");" $manager->persist($menu);" ! $doc = $manager->find(null, “/cms/contents/mydoc“);" $menuNode = new MenuNode();" $menuNode->setPosition($menu, $doc->getName());" $menuNode->setLabel($doc->getTitle());" $menuNode->setContent($doc);" $manager->persist($menu);" $manager->flush();
  25. 25. …e il backend?
  26. 26. Concludendo • CMF è maturo • tanti piccoli componenti riutilizzabili • è possibile inserirlo su progetti Sf2 già realizzati • documentazione • ideato lo utilizza su progetti reali • viene utilizzato da eZPublish, Drupal 8, …
  27. 27. Grazie!
  28. 28. Manuel Baldassarri! Partner & COO at Ideato ! Twitter K3a eMail mb@ideato.it https://joind.in/talk/view/12213
  29. 29. • https://www.flickr.com/photos/clarkwestfield/ 2176617708 • https://www.flickr.com/photos/rodrigogalindez/ 4637637337

×