Cursus Zend Framework - 1

1,262 views
1,206 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,262
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cursus Zend Framework - 1

  1. 1. Zend Framework<br />zendframework.bartj.com<br />
  2. 2. Opbouw<br />Inleiding OOP&PHP<br />Wat is PHP/Hoe werkt het<br />Object-OrientedProgramming<br />OOP in PHP<br />Model-View-Controllerprincipe<br />Zend Framework<br />Filosofie<br />Eerste Zend Project<br />Zend_View<br />Zend_Auth<br />Zend_Db<br />AJAX & Zend<br />Andere dingetjes…?<br />
  3. 3. Hoe werkt het?<br />Server<br />Client<br />Browser<br />PHP<br />Parser<br />MySQL<br />HTML Parser<br />Sync<br />Javascript & Flash<br />Webserver<br />Async<br />HTML & PHP bestanden<br />
  4. 4. Installatie XAMPP & Zend Studio<br />XAMPP<br />Apache2 -&gt; webserver<br />PHP -&gt; scripttaal<br />MySQL -&gt; database<br />Zend Studio<br />PHP Editor<br />Syntax check<br />Autoaanvullen met objecten en library’s<br />
  5. 5. Gebruik XAMPP<br /><ul><li>Webdocumenten in</li></ul> c:xampplitehtdocs<br />Webbrowser pakken en surfen naar:<br />http://localhost/<br />Database beheer (later)<br />http://localhost/phpmyadmin/<br />Start/Stop via <br />xampp_start.exe<br />xampp_stop.exe<br />
  6. 6. Helloworld!<br /><ul><li>Zend Studio Opstarten
  7. 7. Project aanmaken
  8. 8. Project contents: c:xampplitehtdocs</li></ul>index.php(rechtermuisknop, new, PHPFile)<br />&lt;?php<br />echo “Hello World”;<br />?&gt;<br />
  9. 9. Object-OrientedProgramming<br />Waarom?<br />Maakt de code overzichtelijk en makkelijk te begrijpen<br />Code hergebruiken (nooit meer ‘tzelfde typen!)<br />Schaalbaarheid van de code<br />Blokken code zijn afzonderlijk te testen<br />Veel objecten worden door anderen gemaakt<br />Je hoeft niet precies te weten hoe ze werken<br />Vanaf PHP5 meer mogelijkheden<br />
  10. 10. Object-OrientedProgramming<br />Objecten beschrijven de werkelijkheid<br />Kunnen zijn<br />Klanten<br />Bestellingen<br />Tabellen van databases<br />Bevat data<br />b.v. mens: lengte, kleur ogen, schoenmaat, kleur haren<br />Heeft functies<br />b.v. mens: lopen, praten, horen<br />Model van een object -&gt; Class<br />
  11. 11. Object-OrientedProgramming<br />&lt;?php<br />Class Mens {<br />public $leeftijd;<br />public $lengte;<br />public $gewicht;<br /> public $zatheid;<br />public $schonetanden;<br />public function __construct () {<br /> // Dit is de constructor<br /> $this-&gt;leeftijd = 0;<br /> $this-&gt;lengte = 30;<br /> $this-&gt;gewicht = 2500;<br /> $this-&gt;schonetanden = 10;<br />}<br /> public functionisJarig() {<br /> $this-&gt;leeftijd++;<br /> $this-&gt;schonetanden--;<br /> }<br />public functiondrinkBier($aantalBier) {<br />if ($this-&gt;leeftijd &lt; 10) {<br /> $this-&gt;zatheid = 2*$aantalBier;<br /> } else {<br /> $this-&gt;zatheid = 1*$aantalBier;<br /> }<br /> }<br />}<br />?&gt;<br />
  12. 12. Object-OrientedProgramming<br />Hoe gebruik ik het object nu?<br />&lt;?php<br />$jantje = new Mens();<br />echo $jantje-&gt;leeftijd; // Komt 0 uit (constructor!)<br />$jantje-&gt;isJarig(); <br />echo $jantje-&gt;leeftijd; // Komt nu 1 uit (isJarig)<br />// Nu gaat Jantje bier drinken<br />$jantje-&gt;drinkBier(3);<br />echo $jantje-&gt;zatheid; // Hoe zat is Jantje nu?<br />?&gt;<br />Class Mens<br />var leeftijd<br />var lengte<br />var gewicht<br />var zatheid<br />var schonetanden<br />functionisJarig<br />functiondrinkBier(var $aantalBier)<br />
  13. 13. Object-OrientedProgramming<br />Overerving bij Objecten<br />&lt;?php<br />classSupercooleMensextends Mens {<br /> public functionisJarig() {<br /> $this-&gt;leeftijd++;<br /> }<br />}<br />?&gt;<br />Class Mens<br />var leeftijd<br />var lengte<br />var gewicht<br />var zatheid<br />var schonetanden<br />functionisJarig<br />functiondrinkBier(var $aantalBier)<br />
  14. 14. Model-View-Controller<br />Model-View-Controller is het ordenen van objecten in 3 categorieën<br />Model<br />De data waar je mee werkt (Databaseobjecten)<br />View<br />Dit onderdeel zorgt voor de weergave op het scherm<br />Controller<br />Zorgt voor de link tussen de vraag, het model en de views. Wordt ook wel de “business logic” genoemd.<br />
  15. 15. Model-View-Controller<br />Controller<br />Model<br />Routing<br />Request<br />View<br />Response<br />
  16. 16. Filosofie Zend Framework<br />80% van de code door Zend, 20% van de code door de gebruiker<br />Optimale schaalbaarheid en onderhoudbaarheid van de code door <br />M-V-C structuur<br />Bevat modules voor ondersteuning van alle nieuwe webtechnologieën (XML,jQuery & DoJo (AJAX))<br />API’s met Flickr, Yahoo, Twitter, YouTube<br />
  17. 17. ZF project opzetten<br />Download van http://framework.zend.com/download/latest<br />Mappenstructuur<br />application/<br /> controllers/<br /> models/<br /> views/<br /> scripts/<br />library/<br />public/<br />Hier staan alle geprogrammeerde bestanden <br />(onderverdeeld in M-V-C)<br />Zend Framework<br /><ul><li> CSS bestand(en)
  18. 18. Afbeeldingen
  19. 19. Bootstrap file (index.php)</li></li></ul><li>ZF project opzetten<br />Rewrite File (public/.htaccess)<br />Doel: URLs herschrijven tot mooie URL’s-&gt; Google optimized<br />http://localhost/bestand.php?id=5&soort=beschrijving<br />wordt<br />http://localhost/bestand/5/beschrijving/<br />Inhoud:<br />RewriteEngineOn<br />RewriteCond%{REQUEST_FILENAME} -s [OR] <br />RewriteCond%{REQUEST_FILENAME} -l [OR] <br />RewriteCond%{REQUEST_FILENAME} -d <br />RewriteRule^.*$ - [NC,L] <br />RewriteRule^.*$ /index.php [NC,L] <br />
  20. 20. ZF project opzetten<br />Bootstrap file (public/index.php)<br />&lt;?php<br />// ErrorReporting<br />error_reporting(E_ALL|E_STRICT);<br />ini_set(&apos;display_errors&apos;,&apos;on&apos;);<br />// Modify include path to library include path<br />ini_set(&apos;include_path&apos;, ini_get(&apos;include_path&apos;) . PATH_SEPARATOR . &apos;../library&apos;);<br />// Zend FrameworkIncludes<br />require_once &apos;Zend/Loader.php&apos;;<br />Zend_Loader::loadClass(&apos;Zend_Controller_Front&apos;);<br />$front = Zend_Controller_Front::getInstance();<br />$front-&gt;setControllerDirectory(&apos;../application/controllers&apos;);<br />$front-&gt;throwExceptions(true);<br />// Go Go Go!<br />$front-&gt;dispatch();<br />?&gt;<br />
  21. 21. ZF project opzetten<br />Nu nog een Controller en een View!<br />application/controllers/IndexController.php<br />classIndexControllerextends Zend_Controller_Action { <br /> public functionindexAction() {<br />// do nothing<br />}<br />}<br />application/views/scripts/index/index.phtml<br />met als inhoud: Helloworld!<br />

×