Zend framework

Developpement WebPHP Avance Developpement Web PHP Avance Jean-Michel Richer jean-michel. richer@univ-angers. fr http://www. info. univ-angers. fr/pub/richer 2008 1/73 org Sni* to View Objectif Objectif du cours Entrevoir des fonctionnalites avancees de PHP ainsi que frameworks conventions de codage documentation SPL gestion des fichiers 2/73 framework Zend (ZF) est un framework open source, oriente objet de PHP 5 axe sur le developpement de sites web. Il repose notamment sur une implantation MVC.

Definition (framework) un framework est un espace de travail modulaire : ensemble de ibliotheques, d’outils et de conventions permettant le developpement d’applications (on traduit par cadre d’applications ou cadriciel) 8/73 Frameworks Zend Framework pour info (wikipedia) Les fondateurs de Zend Technologies, Zeev Suraski et Andi Gutmans, ont commence a travailler sur PHP en 1997 lorsqu’ils ont cree une nouvelle implementation de PHP, basee sur son predecesseur PHP2/Fl, cree par Rasmus Lerdorf.

Cette appliquer les noms doivent etre courts et explicites les noms de variables et fonctions ne contiennent que des lettres minuscules et le symbole souligne un nom de variable est mis au pluriel s’il contient plusieurs lements une methode qui retourne un attribut d’une classe doit commencer par get une methode qui fixe un attribut d’une classe doit commencer par set 13 ’73 Conventions de codage Disposition des blocs On utilisera preferentiellement la syntaxe : 1 function divise($a, $b) { 2 if { throw new ; 4 } else ( offsetSet attribue une valeur a l’indice donne offsetGet retourne la valeur a rindice donne offsetUnset supprime la donnee a l’indice donne 40/73 Interface Countable 1 Interface Countable { public function count() ; 3} 41 ’73 Interface IteratorAggregate tableaux class Appendlterator 6 8 Sitl =new ,5)) ; $it2=new 1 5)) ; $appiterator=new Appendlterator() ; $appiterator->append($itl) ; $appiterator->append($it2) ; // 123451011 12131415 foreach ($appiterator as $value) { echo $value.  » ‘ 46 / 73 La classe Filterlterator class Filterlterator(iterator) Elle permet de filtrer les valeurs en redefinissant la methode accept 50 / 73 Implantation directe : SimpleXMLlterator (1/3) On dispose de la classe SimpleXMLIterator pour parcourir les fichiers XML. PHP pour les mules Guy Bouricot Le grand livre d’HTML Jean Sans Peur 51 m3 Implantation directe : SimpleXMLlterator (2/3) Lecture d’un fichier XML de transmettre des objets entre pages web et elle est definie car les attributs prives des classes ne sont pas serialisables.

Interface Serializable 1 interface Serializable { public function serialize() ; public function unserialize($serialized) ; 4} 56 / 73 Exemple Serialisation (1/2) classe de base 1 class Base implements Serializable { private $base var ; public construct() { Sthis->base var=’hello’ ; public fonction serialize() { invalide 60 / 73 Gestion des fichiers Les Fichiers 61 /73 Lecture / Ecriture On dispose de fonctionnalites avancees pour la lecture et ‘ecriture des fichiers, notamment grace SPL avec la classe SPLFilelnfo file get contents file put contents 62 / 73 fonction sont les suivants : filename nom du fichier data chaine, tableau ou ressource de flux flags : FILE USE INCLUDE PATH, FILE TEXT, FILE APPEND, FILE BINARY context a NULL pour les fichiers On retourne FALSE en cas d’erreur 66 / 73 Exemple Écriture 1 Écriture dans un fichier 1 ‘world’, 2009) ; 2 // stocke la chaine ‘hello world 2009’ dans le fichier log. txt 3 file put 67 / 73 Exemple Ecriture 2 Remplace les balises par 1 $strine=file pet contents( PAGFgcçq