SlideShare une entreprise Scribd logo
Quoi de neuf dans ZF 1.10 ? Mickaël Perraud Contributeur Zend Framework Responsable documentation française
En bref ,[object Object],[object Object],[object Object],[object Object]
En bref ,[object Object],[object Object],[object Object],[object Object]
Améliorations Building incrementally
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Améliorations ,[object Object],[object Object],[object Object],Insert->Header & Footer
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],Insert->Header & Footer
Améliorations ,[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Améliorations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Améliorations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Améliorations
Améliorations
Améliorations
Nouveaux composants Extending an already extensible and extensive framework
Zend_Barcode ,[object Object],[object Object]
$renderer  = Zend_Barcode::factory( 'code39' ,   // type de code-barres 'image' ,   // image ou PDF array (   // options du code-barres 'text'   =>   'ZENDFRAMEWORK' , ), array (   // options du rendu 'imageType'   =>   'png' , ) ); $image   =   $renderer ->draw(); imagepng ( $image ,   __DIR__ .   '/barcode.png' );
$validator  = new    Zend_Validate_Barcode( 'CODE39' ); if   ( $validator ->isValid( $input )) { // Texte de code-barres valide }   else   { //  Texte de code-barres invalide }
Zend_Cache ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RewriteCond %{DOCUMENT_ROOT}/cached/%   {REQUEST_URI}.html -f RewriteRule .* cached/%{REQUEST_URI}.%1 [L]
$options  =  array ( 'public_dir'   =>     APPLICATION_PATH .   '/../public/cache' , ); // Où $manager est une instance de Zend_Cache_Manager $manager ->setTemplateOptions( 'page' ,   $options ); $cache   =   $manager ->getCache( 'page' ); // Dans une action de contrôleur : public   function   preDispatch() { $this ->_helper->cache( // mettre en cache ces actions : array ( 'foo' ,   'bar' ,   'baz' ), // utilise cette balise : array ( $this ->_request->getControllerName()), // avec cette extension : 'html' ); }
$manager  = new Zend_Cache_Manager; $dbCache   =   array ( 'frontend'   =>   array ( 'name'   =>   'Core' , 'options'   =>   array ( 'lifetime'   =>   3600, 'automatic_serialization'   =>   true, ) ), 'backend'   =>   array ( 'name'   =>   'Core' , 'options'   =>   array ( 'cache_dir'   =>     APPLICATION_PATH .   '/../data/cache/db' , ), ), ); $manager ->setCacheTemplate( 'db' ,   $dbCache ); $cache   =   $manager ->getCache( 'db' );
Zend_Feed_Writer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
$feed  = new Zend_Feed_Writer_Feed; $feed ->setTitle( 'ZF Webinars' ) ->setLink(   'http://framework.zend.com/webinars/atom' ,     'atom' ) ->addAuthor( array ( 'name'   =>   'ZF DevTeam' , 'email'   =>   'fw-general@lists.zend.com' , 'uri'   =>   'http://framework.zend.com/' , )) ->setDateModified( strtotime (   '2010-03-17 12:00:00' ));
$entry  =  $feed ->createEntry(); $entry ->setLink(   'http://framework.zend.com/webinars/2010-03-17' ) ->addAuthor( array ( 'name'   =>   'Ralph Schindler' , 'email'   =>   'ralph.schindler@zend.com' , 'uri'   =>   'http://framework.zend.com/' , )) ->setDateModified( strtotime (   '2010-03-17 12:00:00' )) ->setDateCreated( strtotime (   '2010-03-15 08:39:00' )); $output   =   $feed ->export( 'atom' );
Zend_Feed_Pubsubhubbub ,[object Object],[object Object],[object Object],[object Object]
$publisher  = new Zend_Feed_Pubsubhubbub_Publisher; $publisher ->addHubUrls( array ( 'http://pubsubhubbub.appspot.com/' , 'http://wordpress.org/extend/plugins/pushpress/' , )) ->addUpdatedTopicUrls( array ( 'http://framework.zend.com/webinars/atom' , )); // Notifier $publisher ->notifyAll();
$storage  = new Zend_Feed_Pubsubhubbub_Model_Subscription; $subscriber   =   new Zend_Feed_Pubsubhubbub_Subscriber; $subscriber ->setStorage( $storage ) ->addHubUrl(   'http://pubsubhubbub.appspot.com/' ) ->setTopicUrl(   'http://framework.zend.com/webinars/atom' ) ->setCallbackUrl(   'http://www.mydomain.com/hubbub/callback' ) ->subscribeAll();
$callback  = new   Zend_Feed_Pubsubhubbub_Subscriber_Callback; $callback ->setStorage( $storage ); $callback ->handle(); $callback ->sendResponse(); if   ( $callback ->hasFeedUpdate()) { $feedString   =   $callback ->getFedUpdate(); // démarrage du processus ! }
Zend_Markup ,[object Object],[object Object],[object Object],[object Object],$bbcode  = Zend_Markup::factory( 'Bbcode' ); echo   $bbcode ->render( $someBbCodeMarkup ); $textile   =   Zend_Markup::factory( 'Textile' ); echo   $textile ->render( $someTextileMarkup );
Zend_Oauth ,[object Object]
$config  =  array ( 'callbackUrl'   =>   'http://example.com/callback' , 'siteUrl'   =>   'http://twitter.com/oauth' , 'consumerKey'   =>   'gg3DsFTW9OU9eWPnbuPzQ' , 'consumerSecret'   =>   'tFB0fyWLSMf74lkEu9FTyoHXcazOWpbrAjTCCK48A' ); $consumer   =   new   Zend_Oauth_Consumer( $config ); // Récupération du jeton de la requête : $token   =   $consumer ->getRequestToken(); // Se souvenir du jeton : $session   =   new   Zend_Session_Namespace( 'oauth' ); $session ->token   =   serialize ( $token ); // Rediriger vers le fournisseur Oauth : $consumer ->redirect();
// A l’intérieur d’une action de contrôleur en // considérant le consommateur et la session // paramètrée comme ci-dessus $request   =   $this ->getRequest(); if   (! $request ->isGet() || !isset( $session ->token) ) { // Gestion des erreurs ! } $token   =   $consumer ->getAccessToken( $request ->getQuery(), unserialize ( $session ->token) ); // Utilisation du jeton ! $client   =   $token ->getHttpClient(); // ...
Zend_Serializer ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
$serializer  = Zend_Serializer::factory( 'Json' ); $serialized   =   $serializer -> serialize ( $data ); $unserialized   =   $serializer -> unserialize ( $serialized );
Nouveaux services Extending your reach into the cloud
New Service - LiveDocx ,[object Object],[object Object],Insert->Header & Footer
Nouveau service - LiveDocx Insert->Header & Footer
Nouveau service - LiveDocx Insert->Header & Footer
Nouveau service - LiveDocx ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Nouveau service - DeveloperGarden ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Nouveau service - DeveloperGarden ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Nouveau service - DeveloperGarden ,[object Object],Insert->Header & Footer
Nouveau service - WindowsAzure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Insert->Header & Footer
Nouveau service– WindowsAzure Insert->Header & Footer
Mises à jour de la documentation Helping you educate yourself
Documentation versionnée ,[object Object],[object Object]
Nouveau moteur de rendu ,[object Object],[object Object],[object Object]
Tutoriaux ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Notes de migration ,[object Object],[object Object]
Commentaires ,[object Object]
Liens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Merci ! ,[object Object]

Contenu connexe

Tendances

Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
Kristen Le Liboux
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
Abdoulaye Dieng
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear php
Damien Seguy
 
Cours php
Cours phpCours php
Cours php
csskaled
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
Yves Van Goethem
 
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Marouan OMEZZINE
 
Ns python-flask
Ns python-flaskNs python-flask
Ns python-flask
Olivier Rovellotti
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
Pierre Faure
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
guest6c050e
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
Abdoulaye Dieng
 
Formulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explicationsFormulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explications
Alexandre Salomé
 
Atelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPressAtelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPress
IZZA Samir
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
Mahdi Ben Alaya
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
Jean-Marie Renouard
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
Olivier Rovellotti
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
kadzaki
 
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHPSécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
Jean-Marie Renouard
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JS
Antoine Rey
 
jQuery — fonctionnalités avancées
jQuery — fonctionnalités avancéesjQuery — fonctionnalités avancées
jQuery — fonctionnalités avancéesRémi Prévost
 

Tendances (20)

Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear php
 
Cours php
Cours phpCours php
Cours php
 
Beautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenirBeautiful CSS : Structurer, documenter, maintenir
Beautiful CSS : Structurer, documenter, maintenir
 
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEIntroduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINE
 
Ns python-flask
Ns python-flaskNs python-flask
Ns python-flask
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Php & My Sql
Php & My SqlPhp & My Sql
Php & My Sql
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 
Formulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explicationsFormulaires Symfony2 - Cas pratiques et explications
Formulaires Symfony2 - Cas pratiques et explications
 
Atelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPressAtelier WordPress: Création d’extension WordPress
Atelier WordPress: Création d’extension WordPress
 
Chap2
Chap2Chap2
Chap2
 
PHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben AlayaPHP (Partie II) Par Mahdi Ben Alaya
PHP (Partie II) Par Mahdi Ben Alaya
 
Javascript et JQuery
Javascript et JQueryJavascript et JQuery
Javascript et JQuery
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHPSécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JS
 
jQuery — fonctionnalités avancées
jQuery — fonctionnalités avancéesjQuery — fonctionnalités avancées
jQuery — fonctionnalités avancées
 

En vedette

Découvrez le noyau d'internationalisation du Zend Framework
Découvrez le noyau d'internationalisation du Zend FrameworkDécouvrez le noyau d'internationalisation du Zend Framework
Découvrez le noyau d'internationalisation du Zend Framework
Mickael Perraud
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2Mickael Perraud
 
Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)
Mickael Perraud
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkMickael Perraud
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend FrameworkMickael Perraud
 

En vedette (6)

Découvrez le noyau d'internationalisation du Zend Framework
Découvrez le noyau d'internationalisation du Zend FrameworkDécouvrez le noyau d'internationalisation du Zend Framework
Découvrez le noyau d'internationalisation du Zend Framework
 
Introduction à Zend Framework 2
Introduction à Zend Framework 2Introduction à Zend Framework 2
Introduction à Zend Framework 2
 
Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)Présentation de DBAL en PHP (Nantes)
Présentation de DBAL en PHP (Nantes)
 
Développement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend FrameworkDéveloppement sécurisé d'applications avec Zend Framework
Développement sécurisé d'applications avec Zend Framework
 
Tester les applications Zend Framework
Tester les applications Zend FrameworkTester les applications Zend Framework
Tester les applications Zend Framework
 
Zf2 ce-qui-va-changer
Zf2 ce-qui-va-changerZf2 ce-qui-va-changer
Zf2 ce-qui-va-changer
 

Similaire à Quoi de neuf dans Zend Framework 1.10 ?

Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Ghilas BELHADJ
 
Création de themes WordPress
Création de themes WordPressCréation de themes WordPress
Création de themes WordPressChi Nacim
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
chaudavid
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à SinatraRémi Prévost
 
Spring 3.0
Spring 3.0Spring 3.0
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
VincentBweka
 
Services rest & jersey
Services rest & jerseyServices rest & jersey
Services rest & jersey
Mathieu Hicauber
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
PrestaShop
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en go
Abdoul Kader Sarambe
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en go
kader15
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
PHP 5.3, PHP Next
PHP 5.3, PHP NextPHP 5.3, PHP Next
PHP 5.3, PHP Next
SQLI
 
REST JUG Toulouse 20100615
REST JUG Toulouse 20100615REST JUG Toulouse 20100615
REST JUG Toulouse 20100615JUG Toulouse
 
Wordpress et la sécurité des plugins
Wordpress et la sécurité des pluginsWordpress et la sécurité des plugins
Wordpress et la sécurité des plugins
Boiteaweb
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
Korteby Farouk
 
Coat::Persistent at FPW2009
Coat::Persistent at FPW2009Coat::Persistent at FPW2009
Coat::Persistent at FPW2009
Alexis Sukrieh
 

Similaire à Quoi de neuf dans Zend Framework 1.10 ? (20)

Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
 
Création de themes WordPress
Création de themes WordPressCréation de themes WordPress
Création de themes WordPress
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
Jump Camp - HTML5
Jump Camp - HTML5Jump Camp - HTML5
Jump Camp - HTML5
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
 
Services rest & jersey
Services rest & jerseyServices rest & jersey
Services rest & jersey
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en go
 
Pratique de la programmation en go
Pratique de la programmation en goPratique de la programmation en go
Pratique de la programmation en go
 
Apprenez le jQuery
Apprenez le jQueryApprenez le jQuery
Apprenez le jQuery
 
PHP 5.3, PHP Next
PHP 5.3, PHP NextPHP 5.3, PHP Next
PHP 5.3, PHP Next
 
REST JUG Toulouse 20100615
REST JUG Toulouse 20100615REST JUG Toulouse 20100615
REST JUG Toulouse 20100615
 
Cours Php
Cours PhpCours Php
Cours Php
 
Cours Php
Cours PhpCours Php
Cours Php
 
Wordpress et la sécurité des plugins
Wordpress et la sécurité des pluginsWordpress et la sécurité des plugins
Wordpress et la sécurité des plugins
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
Coat::Persistent at FPW2009
Coat::Persistent at FPW2009Coat::Persistent at FPW2009
Coat::Persistent at FPW2009
 

Dernier

De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
AlbertSmithTambwe
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 

Dernier (9)

De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU  SOUS WINDOWSCOURS D'ADMINISTRATION RESEAU  SOUS WINDOWS
COURS D'ADMINISTRATION RESEAU SOUS WINDOWS
 
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 

Quoi de neuf dans Zend Framework 1.10 ?

  • 1. Quoi de neuf dans ZF 1.10 ? Mickaël Perraud Contributeur Zend Framework Responsable documentation française
  • 2.
  • 3.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 19. Nouveaux composants Extending an already extensible and extensive framework
  • 20.
  • 21. $renderer = Zend_Barcode::factory( 'code39' , // type de code-barres 'image' , // image ou PDF array ( // options du code-barres 'text' => 'ZENDFRAMEWORK' , ), array ( // options du rendu 'imageType' => 'png' , ) ); $image = $renderer ->draw(); imagepng ( $image , __DIR__ . '/barcode.png' );
  • 22. $validator = new Zend_Validate_Barcode( 'CODE39' ); if ( $validator ->isValid( $input )) { // Texte de code-barres valide } else { // Texte de code-barres invalide }
  • 23.
  • 24. RewriteCond %{DOCUMENT_ROOT}/cached/% {REQUEST_URI}.html -f RewriteRule .* cached/%{REQUEST_URI}.%1 [L]
  • 25. $options = array ( 'public_dir' => APPLICATION_PATH . '/../public/cache' , ); // Où $manager est une instance de Zend_Cache_Manager $manager ->setTemplateOptions( 'page' , $options ); $cache = $manager ->getCache( 'page' ); // Dans une action de contrôleur : public function preDispatch() { $this ->_helper->cache( // mettre en cache ces actions : array ( 'foo' , 'bar' , 'baz' ), // utilise cette balise : array ( $this ->_request->getControllerName()), // avec cette extension : 'html' ); }
  • 26. $manager = new Zend_Cache_Manager; $dbCache = array ( 'frontend' => array ( 'name' => 'Core' , 'options' => array ( 'lifetime' => 3600, 'automatic_serialization' => true, ) ), 'backend' => array ( 'name' => 'Core' , 'options' => array ( 'cache_dir' => APPLICATION_PATH . '/../data/cache/db' , ), ), ); $manager ->setCacheTemplate( 'db' , $dbCache ); $cache = $manager ->getCache( 'db' );
  • 27.
  • 28. $feed = new Zend_Feed_Writer_Feed; $feed ->setTitle( 'ZF Webinars' ) ->setLink( 'http://framework.zend.com/webinars/atom' , 'atom' ) ->addAuthor( array ( 'name' => 'ZF DevTeam' , 'email' => 'fw-general@lists.zend.com' , 'uri' => 'http://framework.zend.com/' , )) ->setDateModified( strtotime ( '2010-03-17 12:00:00' ));
  • 29. $entry = $feed ->createEntry(); $entry ->setLink( 'http://framework.zend.com/webinars/2010-03-17' ) ->addAuthor( array ( 'name' => 'Ralph Schindler' , 'email' => 'ralph.schindler@zend.com' , 'uri' => 'http://framework.zend.com/' , )) ->setDateModified( strtotime ( '2010-03-17 12:00:00' )) ->setDateCreated( strtotime ( '2010-03-15 08:39:00' )); $output = $feed ->export( 'atom' );
  • 30.
  • 31. $publisher = new Zend_Feed_Pubsubhubbub_Publisher; $publisher ->addHubUrls( array ( 'http://pubsubhubbub.appspot.com/' , 'http://wordpress.org/extend/plugins/pushpress/' , )) ->addUpdatedTopicUrls( array ( 'http://framework.zend.com/webinars/atom' , )); // Notifier $publisher ->notifyAll();
  • 32. $storage = new Zend_Feed_Pubsubhubbub_Model_Subscription; $subscriber = new Zend_Feed_Pubsubhubbub_Subscriber; $subscriber ->setStorage( $storage ) ->addHubUrl( 'http://pubsubhubbub.appspot.com/' ) ->setTopicUrl( 'http://framework.zend.com/webinars/atom' ) ->setCallbackUrl( 'http://www.mydomain.com/hubbub/callback' ) ->subscribeAll();
  • 33. $callback = new Zend_Feed_Pubsubhubbub_Subscriber_Callback; $callback ->setStorage( $storage ); $callback ->handle(); $callback ->sendResponse(); if ( $callback ->hasFeedUpdate()) { $feedString = $callback ->getFedUpdate(); // démarrage du processus ! }
  • 34.
  • 35.
  • 36. $config = array ( 'callbackUrl' => 'http://example.com/callback' , 'siteUrl' => 'http://twitter.com/oauth' , 'consumerKey' => 'gg3DsFTW9OU9eWPnbuPzQ' , 'consumerSecret' => 'tFB0fyWLSMf74lkEu9FTyoHXcazOWpbrAjTCCK48A' ); $consumer = new Zend_Oauth_Consumer( $config ); // Récupération du jeton de la requête : $token = $consumer ->getRequestToken(); // Se souvenir du jeton : $session = new Zend_Session_Namespace( 'oauth' ); $session ->token = serialize ( $token ); // Rediriger vers le fournisseur Oauth : $consumer ->redirect();
  • 37. // A l’intérieur d’une action de contrôleur en // considérant le consommateur et la session // paramètrée comme ci-dessus $request = $this ->getRequest(); if (! $request ->isGet() || !isset( $session ->token) ) { // Gestion des erreurs ! } $token = $consumer ->getAccessToken( $request ->getQuery(), unserialize ( $session ->token) ); // Utilisation du jeton ! $client = $token ->getHttpClient(); // ...
  • 38.
  • 39. $serializer = Zend_Serializer::factory( 'Json' ); $serialized = $serializer -> serialize ( $data ); $unserialized = $serializer -> unserialize ( $serialized );
  • 40. Nouveaux services Extending your reach into the cloud
  • 41.
  • 42. Nouveau service - LiveDocx Insert->Header & Footer
  • 43. Nouveau service - LiveDocx Insert->Header & Footer
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. Nouveau service– WindowsAzure Insert->Header & Footer
  • 50. Mises à jour de la documentation Helping you educate yourself
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.