<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://mirmodynamics.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Mirmo Dynamics - Tag - session</title>
  <link>http://mirmodynamics.com/</link>
  <atom:link href="http://mirmodynamics.com/feed/tag/session/rss2" rel="self" type="application/rss+xml"/>
  <description>Rien de grand ne se fit jamais sans enthousiasme.</description>
  <language>en</language>
  <pubDate>Tue, 18 Nov 2008 12:26:30 +0100</pubDate>
  <copyright>2003-2008 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Zend Framework et les sessions</title>
    <link>http://mirmodynamics.com/post/2006/08/12/Zend-Framework-et-les-sessions</link>
    <guid isPermaLink="false">urn:md5:a2cd430d79098a5196160a3a1f1bcc7c</guid>
    <pubDate>Sat, 12 Aug 2006 20:31:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>howto</category><category>php</category><category>session</category><category>zend framework</category>    
    <description>    &lt;p&gt;Bon voilà, j'ai commencé le développement d'un projet, et j'ai décidé d'utiliser le &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; (pour des raisons que je détaillerais dans un autre billet si ça vous interresse). Après mise en application du &lt;a href=&quot;http://www.phparch.com/zftut/&quot; hreflang=&quot;en&quot;&gt;tutoriel de Chris&lt;/a&gt;, Un premier problème s'est posé à moi: l'intégration des sessions. Après quelques recherches, on peut trouver &lt;a href=&quot;http://www.alexatnet.com/Blog/Index/2006-06-06/blog-cms-with-php-zend-framework-and-sqlite&quot;&gt;un blog développé avec ZF&lt;/a&gt;. Me ruant sur la partie d'admin, je découvre a ma grande stupeur des &lt;code&gt;session_start()&lt;/code&gt; incrustés a chaque méthode du controlleur, un peu comme ça:&lt;/p&gt;


&lt;pre&gt;class AdminController extends Zend_Controller_Action {
	function indexAction() {
		session_start();
	}
	function postAction() {
		session_start();
	}
}&lt;/pre&gt;


&lt;p&gt;Ce n'est évidemment pas une solution acceptable. J'ai opté pour ma part pour une surcharge de la classe &lt;code&gt;Zend_Controller_Action&lt;/code&gt;, avec un appel à &lt;code&gt;session_start()&lt;/code&gt; dans le constructeur:&lt;/p&gt;


&lt;pre&gt;abstract class My_Controller_Action extends Zend_Controller_Action {
	public function __construct() {
		session_start();
	}
}

class AdminController extends My_Controller_Action {
	function indexAction() {
		// code
	}
}&lt;/pre&gt;


&lt;p&gt;Bon là, la problèmatique de base est déjà résolue, mais on peut aller plus loin, et ajouter un destructeur:&lt;/p&gt;


&lt;pre&gt;abstract class My_Controller_Action extends Zend_Controller_Action {
	public function __construct() {
		session_start();
	}

	public function __destruct() {
		$session_id = session_id();
		if (!empty($session_id)) {
			session_write_close();
		}
	}
}&lt;/pre&gt;


&lt;p&gt;Voilà c'est tout pour aujourd'hui, la prochaine fois, on parlera de l'utilisation des &lt;code&gt;Views&lt;/code&gt;, et nottament, comment éviter un appel rébarbatif à &lt;code&gt;Zend::registry()&lt;/code&gt; dans chaque controlleur.&lt;/p&gt;</description>
    
    
    
          <comments>http://mirmodynamics.com/post/2006/08/12/Zend-Framework-et-les-sessions#comment-form</comments>
      <wfw:comment>http://mirmodynamics.com/post/2006/08/12/Zend-Framework-et-les-sessions#comment-form</wfw:comment>
      <wfw:commentRss>http://mirmodynamics.com/feed/atom/comments/573</wfw:commentRss>
      </item>
    
</channel>
</rss>