DPC2007 Symfony (Stefan Koopmanschap)

50 %
50 %
Information about DPC2007 Symfony (Stefan Koopmanschap)

Published on June 18, 2007

Author: dpc

Source: slideshare.net

Description

Dutch PHP Conference

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Add a comment

Related presentations

Related pages

Stefan Koopmanschap | LinkedIn

View Stefan Koopmanschap’s professional profile on LinkedIn. LinkedIn is the world's largest business network, helping professionals like Stefan ...
Read more

Stefan Koopmanschap is your new symfony Community Manager ...

Stefan Koopmanschap is your new symfony Community ... I'm happy to announce Stefan Koopmanschap (www, twitter) is taking over as your symfony Community ...
Read more

- Symfony

Symfony - Open-Source PHP web framework. DOWNLOAD NOW What is Symfony? ... Stefan Koopmanschap is developer, consultant and trainer.
Read more

Zend Framework 2 and Symfony2: The Perfect Team (ZendCon ...

Speaker Details. Stefan Koopmanschap is a PHP developer, consultant and trainer. He is a community person and is active in the Dutch PHP community by being ...
Read more

Stefan Koopmanschap | PHP Developer | ZoomInfo.com

View Stefan Koopmanschap's business profile as Contributor at PHP Developer and see work history, affiliations and more.
Read more

PHPNW09 Track 2 Talk 6: Stefan Koopmanschap - Integrating ...

... Stefan Koopmanschap - Integrating Zend Framework and Symfony ... Stefan Koopmanschap ... Symfony Components In The Wild - Duration: ...
Read more

SymfonyLive London 2013 - Stefan Koopmanschap - Build your ...

SymfonyLive London 2013 - Stefan Koopmanschap - Build your first Symfony2 application
Read more

Stefan Koopmanschap a.k.a skoop - SensioLabs Connect

Stefan Koopmanschap is a PHP developer, consultant and trainer. ... Code of the symfony workshop I've done at Symfony Day Cologne 2010. gitproject.
Read more

#2246 (Auto discover feeds from a webpage) - symfony - Trac

Auto discover feeds from a webpage. Reported by: Michael.Nolan: Assigned to: ... stefan.koopmanschap@symfony-project.com: Qualification: Accepted: Description
Read more