Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 1 (more)

Symfony (Dutch PHP Conference)

From skoop, 1 year ago

The presentation on Symfony I did at the Dutch PHP Conference orga more

3614 views  |  0 comments  |  0 favorites  |  9 downloads
 

Groups/Events

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 3614
on Slideshare: 3614
from embeds: 0* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Symfony Dutch PHP Conference 16 juni 2007 Stefan Koopmanschap, Dutch Open Projects www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 1

Slide 2: Deze presentatie Over mij ● Wat is Symfony? ● De geschiedenis van Symfony ● Hoe werkt het? ● Jongeren in Beeld ● www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 2

Slide 3: Over mij 16 Juni 1978 ● Communicatiesystemen ● PHP door zelfstudie ● phpBB ● Dutch Open Projects ● www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 3

Slide 4: Over Symfony MVC Framework ● PHP 5 ● Open Source (MIT! Dus geen GPL!) ● Professioneel ontwikkelen ● Stabiel ● ● Documentatie ● OO ● Testen Geen Ruby on Rails ● www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 4

Slide 5: Geschiedenisles Frankrijk: Sensio Labs ● Fork van Mojavi (puur) MVC framework ● Combinatie met Propel, prototype, phing, pake, creole, ● lime, phpmailer 2005: eerste versie Symfony ● November 2006: eerste beta ● 19 Februari 2007: stabiele 1.0.0 ● Nu: Symfony 1.0.3 ● www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 5

Slide 6: Wat is het? Compleet framework inclusief utilities Geen “component library” maar volledige “environment” CLI commando's voor standaard taken initialisatie van applicatie, module, project log purge en log rotate plugin installatie, upgrade en deinstallatie propel (model/db) taken unit en functional testing debugging en gedeeltelijk profiling deployment (!!) www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 6

Slide 7: Hoe werkt het? Duidelijke directory structuur /apps /myapp /config /i18n /lib /modules /templates /batch /cache /config /data /doc /lib /model /map /om /log /plugins /test /web /css /images /js /uploads www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 7

Slide 8: Hoe werkt het? Applicaties zijn globale eenheden Voorbeeld: frontend en backend Decorator pattern: Globale layout.php voor veelvoorkomende elementen Globale library en configuratie Kunnen worden overruled in modules Binnen applicaties: modules /modules /mymodule /actions /actions.class.php /config /lib /templates /validate www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 8

Slide 9: Hoe werkt het? /modules /mymodule /actions /actions.class.php /config /lib /templates /validate Duidelijke MVC structuur met Front Controller Controller handelt request af Model handelt data af View handelt layout af www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 9

Slide 10: Hoe werkt het? Hoe beginnen we? symfony init-project symfony init-app (he! het werkt!) symfony init-module Uitstapje naar Yaml: schema.yml, databases.yml Propel configureren: propel.ini symfony propel-build-model symfony propel-build-sql symfony propel-insert-sql symfony propel-generate-crud symfony propel-init-admin www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 10

Slide 11: Hoe werkt het? Layout: hoe werkt dat? templates voor individuele pagina's layout.php op applicatieniveau view.yml op applicatieniveau www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 11

Slide 12: Configuratie van je applicatie Heel veel controle, een paar highlights: logging.yml routing.yml security.yml settings.yml view.yml www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 12

Slide 13: Routing: SEO en meer mod_rewrite optioneel nog mooiere URL's /post/view/id/1 wordt /post/1 URL's worden door link_to() en url_for() gegenereerd www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 13

Slide 14: Debugging Frontend applicatie bevat index.php maar ook frontend_dev.php Debug toolbar logs en systeemberichten configuratie en variabelen database queries performance informatie www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 14

Slide 15: Uitbreidingsmogelijkheden Plugins sfFeed2 – RSS en Atom makkelijk sfControlPanel – Symfony applicatie beheer sfSugarCRM – Koppeling met SugarCRM SOAP sfOpenID – Distributed SSO ondersteuning sfSmartyView – Gebruik Smarty voor templating sfOptimizer – Nog meer geoptimaliseerd www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 15

Slide 16: Niet genoeg? Framework bridges: Gebruik andere frameworks Zend Framework ezComponents Ajax integratie zonder javascript programmeren Caching I18n en l10n Form validation ...... www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 16

Slide 17: Jongeren in Beeld www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 17

Slide 18: Wat is Jongeren in Beeld? Applicatie voor gemeente en hulpverleningsinstanties Bijhouden van gegevens over “probleemjeugd” Bijna 30 gemeentes Ongeveer 150 gebruikers Wisselende wensen (authorisatie, opslaan gegevens, e.d.) De toekomst wordt een uitdaging www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 18

Slide 19: Waar komen we vandaan? Applicatie opgezet met Mambo voor 1 gemeente Interesse vanuit meer gemeentes Gebrek aan structuur in Mambo, waardoor alle aanpassingen van 3-4 jaar gebruik leidden tot spaghetti- code Database met 1500+ tabellen (iedere gemeente eigen tabellen) Maar ... het werkte! www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 19

Slide 20: En toen? Oktober 2006: Ik kom bij DOP Beheersbaarheid van code blijkt nagenoeg verdwenen Belangrijker: Het is geen website maar een applicatie Tijd voor een volwassen applicatie www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 20

Slide 21: De keus voor Symfony PHP5 (dus geen CakePHP) Stabiele API (dus geen Zend Framework) Grote community Goede documentatie www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 21

Slide 22: Waar was ik erg blij mee? De Askeet tutorial om snel up to speed te zijn Automatische model generatie De duidelijkste MVC implementatie in PHP Goede PHPDoc documentatie (voor in Zend Studio) symfony freeze Duidelijke scheiding tussen dev en productie www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 22

Slide 23: Waar was ik iets minder blij mee? Propel (wanneer het complex wordt) De screencasts zijn geen goede introductie maar intimideren www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 23

Slide 24: Waar kan je meer vinden? http://www.symfony-project.com/ http://www.symfony-forge.com/ http://www.leftontheweb.com/ http://groups.google.com/group/symfony-users http://beta.bookmarks.yahoo.com/ www.dop.nu 16 juni  2007 DUTCH OPEN PROJECTS 24