<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://fashion.hosmoz.net/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/">
<channel>
  <title>Digital Fashion</title>
  <link>http://fashion.hosmoz.net/</link>
  <description>Rien de grand ne se fit jamais sans enthousiasme.</description>
  <language>en</language>
  <pubDate>Mon, 05 May 2008 12:35:19 +0200</pubDate>
  <copyright>2003-2007 &amp;copy; Geoffrey Bachelet</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Destination suède</title>
    <link>http://fashion.hosmoz.net/post/2008/04/20/Destination-suede</link>
    <guid isPermaLink="false">urn:md5:1d3cd3ab40a5f5b684b0472d8d644c6c</guid>
    <pubDate>Sun, 20 Apr 2008 20:05:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>caribou</category><category>québecois</category><category>suède</category><category>tcheum</category><category>vacances</category><category>voyage</category>    
    <description>    &lt;pre&gt;
GOING OUT

From Paris (Beauvais) (BVA) to Stockholm (Skavsta) (NYO)
Sun, 25May08 Flight FR9502 Depart BVA at 09:50 and arrive NYO at 12:00

COMING BACK

From Stockholm (Skavsta) (NYO) to Paris (Beauvais) (BVA)
Sat, 07Jun08 Flight FR9501 Depart NYO at 06:50 and arrive BVA at 09:05
&lt;/pre&gt;


&lt;p&gt;Allez hop ! Deux semaines en suède avec mon tcheum caribou, ça pourra pas faire de mal tabarnak (oui je m'entraine a parler québecois un peu).&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/04/20/Destination-suede#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/04/20/Destination-suede#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1102</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend Framework 1.5.1 PEAR package is available</title>
    <link>http://fashion.hosmoz.net/post/2008/03/31/Zend-Framework-151-PEAR-package-is-available</link>
    <guid isPermaLink="false">urn:md5:4d8dcb3deedffc0ab3eb1d830c186f45</guid>
    <pubDate>Mon, 31 Mar 2008 17:08:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>package</category><category>pear</category><category>phpmafia</category><category>zend framework</category>    
    <description>    &lt;p&gt;A little late sorry, but ZF 1.5.1's package is now ready.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/31/Zend-Framework-151-PEAR-package-is-available#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/31/Zend-Framework-151-PEAR-package-is-available#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1093</wfw:commentRss>
      </item>
    
  <item>
    <title>Attention, April's fool is coming</title>
    <link>http://fashion.hosmoz.net/post/2008/03/31/Attention-Aprils-fool-is-coming</link>
    <guid isPermaLink="false">urn:md5:311cfe49715a184627647e8b2391bf89</guid>
    <pubDate>Mon, 31 Mar 2008 13:57:00 +0200</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>General</category>
        <category>1er avril</category><category>aprils fool</category><category>attention</category><category>haine</category><category>hate</category><category>warning</category>    
    <description>    &lt;p&gt;N'oubliez pas que demain, c'est le 1er avril. Ne croyez pas tout ce qu'on vous dit. Oui je hais cette date.&lt;/p&gt;


&lt;p&gt;Don't forget it's April's fool tomorrow ! Don't believe everything you're told of. Yeah I hate that date.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/31/Attention-Aprils-fool-is-coming#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/31/Attention-Aprils-fool-is-coming#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1092</wfw:commentRss>
      </item>
    
  <item>
    <title>ruby: url_to_constant</title>
    <link>http://fashion.hosmoz.net/post/2008/03/27/ruby%3A-url_to_constant</link>
    <guid isPermaLink="false">urn:md5:5bc21c2e576e73435e4b1e0c555fffe1</guid>
    <pubDate>Thu, 27 Mar 2008 23:04:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>constant</category><category>ruby</category><category>url</category><category>useless</category>    
    <description>    &lt;p&gt;A small bit of ruby to get a constant from an &lt;acronym&gt;URL&lt;/acronym&gt;:&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; 'uri'&lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;def&lt;/span&gt; url_to_constant&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#0000FF; font-weight:bold;&quot;&gt;return&lt;/span&gt; URI.&lt;span style=&quot;color:#9900CC;&quot;&gt;parse&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;url&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;host&lt;/span&gt;.&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;gsub&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;/^www\./, ''&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;capitalize&lt;/span&gt;.&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;gsub&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;/&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#91;&lt;/span&gt;^a-z&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#91;&lt;/span&gt;a-z&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#93;&lt;/span&gt;/i&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#123;&lt;/span&gt; |m| m.&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;gsub&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;/&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#91;&lt;/span&gt;^a-z&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#93;&lt;/span&gt;/, ''&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;upcase&lt;/span&gt; &lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#125;&lt;/span&gt;.&lt;span style=&quot;color:#9900CC;&quot;&gt;constantize&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Nothing exceptionnal here, just a pretext to post something.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/27/ruby%3A-url_to_constant#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/27/ruby%3A-url_to_constant#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1091</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend Framework 1.5 PEAR package is available</title>
    <link>http://fashion.hosmoz.net/post/2008/03/22/Zend-Framework-15-PEAR-package-is-available</link>
    <guid isPermaLink="false">urn:md5:f6deb9b27f134853c91f21d4c952614f</guid>
    <pubDate>Sat, 22 Mar 2008 18:19:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>1.5</category><category>package</category><category>pear</category><category>phpmafia</category><category>zend framework</category>    
    <description>    &lt;p&gt;The long awaited 1.5 version of the &lt;a href=&quot;http://framework.zend.com/&quot;&gt;Zend Framework&lt;/a&gt; has landed for some days already, and here comes its pear package. Please note the api version changed to 1.5 in this package.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/22/Zend-Framework-15-PEAR-package-is-available#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/22/Zend-Framework-15-PEAR-package-is-available#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1090</wfw:commentRss>
      </item>
    
  <item>
    <title>Sensations extrèmes</title>
    <link>http://fashion.hosmoz.net/post/2008/03/21/Sensations-extremes</link>
    <guid isPermaLink="false">urn:md5:940be58ee1b085ec921fb86c397ce106</guid>
    <pubDate>Fri, 21 Mar 2008 14:34:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>chute libre</category><category>parachute</category><category>poitiers</category><category>roxitude</category><category>sensations</category>    
    <description>    &lt;p&gt;Ah ! J'avais pas chopé la vidéo à l'époque, mais maintenant que je l'ai, hop: &lt;a href=&quot;http://www.dailymotion.com/relevance/search/jo%2Bj%25C3%25A9%2Bchute%2Blibre/video/x4rtct_jo-et-je_sport&quot;&gt;mes débuts en chute libre&lt;/a&gt;, c'était l'année dernière en aout, mes premiers sauts du coté de Poitiers avec mon compère jérome (le deuxième a sauter). Pour ceux qui s'y connaissent un peu, j'ai un peu foiré mon saut :p&lt;/p&gt;


&lt;p&gt;Vivement les prochains ;)&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/21/Sensations-extremes#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/21/Sensations-extremes#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1089</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend engineer certification, I has it</title>
    <link>http://fashion.hosmoz.net/post/2008/03/21/Zend-engineer-certification-I-has-it</link>
    <guid isPermaLink="false">urn:md5:14a666c54361d69a595c312eb60552be</guid>
    <pubDate>Fri, 21 Mar 2008 13:03:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>certification</category><category>php5</category><category>zend</category>    
    <description>    &lt;p&gt;Just a quick note to say I successfuly passed &lt;a href=&quot;http://www.zend.com/store/education/certification/authenticate.php?ClientCandidateID=ZEND007432&amp;amp;RegistrationID=224692189&quot;&gt;my Zend PHP 5 Certification&lt;/a&gt; this morning.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/21/Zend-engineer-certification-I-has-it#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/21/Zend-engineer-certification-I-has-it#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1088</wfw:commentRss>
      </item>
    
  <item>
    <title>Plugin &quot;related by tags&quot; pour dotclear 2, deuxième</title>
    <link>http://fashion.hosmoz.net/post/2008/03/10/Plugin-related-by-tags-pour-dotclear-2-deuxieme</link>
    <guid isPermaLink="false">urn:md5:5e7f17894657fe0198135403c49f72f8</guid>
    <pubDate>Mon, 10 Mar 2008 21:48:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>dotclear2</category><category>plugin</category><category>related by tags</category>    
    <description>    &lt;p&gt;Après de longs mois d'attente, le &lt;em&gt;related by tags&lt;/em&gt; nouveau arrive enfin ! Au menu des réjouissances, une interface de configuration, ainsi qu'un widget font leur apparition. Vous disposez donc désormais de deux manières d'afficher les billets liés, directement en modifiant le template comme avant:&lt;/p&gt;

&lt;pre&gt;
{{tpl:include src=&amp;quot;_related_by_tags.html&amp;quot;}}
&lt;/pre&gt;


&lt;p&gt;ou tout simplement en activant le widget correspondant, que vous pouvez configurer comme vous l'entendez. Bien sur, ce widget ne s'affichera que lors de la visualisation d'un billet.&lt;/p&gt;


&lt;p&gt;Au chapitre des fonctionnalités / bugfix manquant(e)s, on notera le bug lié à l'utilisation de postgresql, ainsi que la traduction française, qui sera pour plus tard.&lt;/p&gt;


&lt;p&gt;Encore une fois, n'hésitez pas à poster tous vos commentaires ici même.&lt;/p&gt;</description>
    
          <enclosure url="http://fashion.hosmoz.net/public/plugin-related_by_tags-2.pkg.gz"
      length="5384" type="application/x-gzip" />
          <enclosure url="http://fashion.hosmoz.net/public/plugin-related_by_tags-2.tar.gz"
      length="3568" type="application/x-gzip" />
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/10/Plugin-related-by-tags-pour-dotclear-2-deuxieme#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/10/Plugin-related-by-tags-pour-dotclear-2-deuxieme#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1087</wfw:commentRss>
      </item>
    
  <item>
    <title>Les pancakes pasquier</title>
    <link>http://fashion.hosmoz.net/post/2008/03/02/Les-pancakes-pasquier</link>
    <guid isPermaLink="false">urn:md5:5dd170b82eef9de7cd2b274183fe48ea</guid>
    <pubDate>Sun, 02 Mar 2008 17:10:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>General</category>
        <category>alimentation</category><category>beurk</category><category>breakfast in america</category><category>déception</category><category>opinions</category><category>pancakes</category><category>pasquier</category><category>petit déjeuner</category>    
    <description>    &lt;p&gt;Bon voilà, j'ai décidé de prendre en main mon alimentation, et vu qu'il parait que le petit déjeuner est le repas le plus important de la journée, je commence par lui. Dans cette optique, j'ai acheté des pancakes de chez Pasquier. Je ne suis pas un expert en pancakes (mes deux seuls points de comparaisons sont des pancakes qu'on m'a fait quand j'étais au lycée et ceux de &lt;a href=&quot;http://www.breakfast-in-america.com/&quot;&gt;breakfast in america&lt;/a&gt;), mais franchement, ces pancakes sont une vaste plaisanterie. Ils sont vendus par dix, conditionnés dans des sachets &lt;em&gt;fraicheur&lt;/em&gt; de deux pancakes chacun.  La consistance de la chose est pour le moins décevante puisqu'au moindre mouvement un peu brusque, le pancake se disloque... Bon. Passé ce désappointement, on sort le sirop d'érable, et là, le drame se poursuit. Plus proche de l'éponge que du pancake, ce &lt;em&gt;truc&lt;/em&gt; ne se rattrape même pas par son gout, qui, s'il n'est pas forcément mauvais, n'a &lt;strong&gt;rien&lt;/strong&gt; a voir avec un pancake. Bref, à l'avenir, je &lt;a href=&quot;http://allrecipes.com/Recipe/Good-Old-Fashioned-Pancakes/Detail.aspx&quot;&gt;cuisinerai&lt;/a&gt; mes pancakes moi même.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/03/02/Les-pancakes-pasquier#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/03/02/Les-pancakes-pasquier#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1086</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend Framework 1.0.4 PEAR package is available</title>
    <link>http://fashion.hosmoz.net/post/2008/02/27/Zend-Framework-104-PEAR-package-is-available</link>
    <guid isPermaLink="false">urn:md5:86aeb0f2eaf2c2f7b63fcc1f234ad94d</guid>
    <pubDate>Wed, 27 Feb 2008 11:17:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>package</category><category>pear</category><category>phpmafia</category><category>zend framework</category>    
    <description>    &lt;p&gt;The package for the last 1.0.x release, 1.0.4, is now available on the phpmafia pear channel. Please report any issue in the comment of this post. The Zend_Locale's xml bug should now be fixed (they are now considered as php and thus put at the &lt;em&gt;right&lt;/em&gt; place, which is not the best way to fix the bug I guess but at least it should work for now).&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/02/27/Zend-Framework-104-PEAR-package-is-available#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/02/27/Zend-Framework-104-PEAR-package-is-available#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1085</wfw:commentRss>
      </item>
    
  <item>
    <title>R.I.P. T.C.W.</title>
    <link>http://fashion.hosmoz.net/post/2008/01/28/RIP-TCW</link>
    <guid isPermaLink="false">urn:md5:b8f9a8d137b15ada7eda5260d635b86f</guid>
    <pubDate>Mon, 28 Jan 2008 10:44:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>blog</category><category>christophe971</category><category>copain</category><category>greader</category><category>rip</category><category>rss</category><category>tcw</category>    
    <description>    &lt;blockquote&gt;&lt;p&gt;You have unsubscribed from &amp;quot;The Caribbean Weblog.&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;C'est con mais ça me rend un peu triste.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/01/28/RIP-TCW#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/01/28/RIP-TCW#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1084</wfw:commentRss>
      </item>
    
  <item>
    <title>Symfonians, un site pour les maestros en herbe</title>
    <link>http://fashion.hosmoz.net/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe</link>
    <guid isPermaLink="false">urn:md5:0affcf89b7f27a2ea360dbc68f206e4d</guid>
    <pubDate>Mon, 21 Jan 2008 11:06:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>communauté</category><category>prendreuncafe</category><category>pub</category><category>symfonians</category><category>symfony</category>    
    <description>    &lt;p&gt;Les utilisateurs du framework &lt;a href=&quot;http://www.symfony-project.org/&quot;&gt;symfony&lt;/a&gt; ont désormais leur cafet' dédiée pour aller prendre un ptit café ! Pour résumer, &lt;a href=&quot;http://www.symfonians.net/&quot;&gt;symfonians&lt;/a&gt; se propose de réunir la petite communauté symfony autour de fonctionnalités aussi conviviales qu'utiles, telles que la création d'un profile développeur symfony, des offres d'emploi, ce genre de choses quoi. Le projet est chapoté par &lt;a href=&quot;http://www.prendreuncafe.com/&quot;&gt;NiKo&lt;/a&gt;, ce qui au moins est un gage de bonne qualité.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/01/21/Symfonians-un-site-pour-les-maestros-en-herbe#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1082</wfw:commentRss>
      </item>
    
  <item>
    <title>Zend Framework 1.0.3 PEAR package</title>
    <link>http://fashion.hosmoz.net/post/2008/01/02/Zend-Framework-103-PEAR-package</link>
    <guid isPermaLink="false">urn:md5:89dd71f9a10d4805182d561de4012180</guid>
    <pubDate>Wed, 02 Jan 2008 23:50:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Geekeries</category>
        <category>package</category><category>pear</category><category>phpmafia</category><category>zend framework</category>    
    <description>    &lt;p&gt;Just to say I packaged the 1.0.3 version of the zend framework on the phpmafia pear channel. It's a bit late I know, but at least it's here. Please note that I already have been notified of a problem regarding the Zend Locale's xml datafiles and that I hope to have worked out a solution for the next release (1.5 if all goes well).&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2008/01/02/Zend-Framework-103-PEAR-package#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2008/01/02/Zend-Framework-103-PEAR-package#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1080</wfw:commentRss>
      </item>
    
  <item>
    <title>Breakfast in america in Paris</title>
    <link>http://fashion.hosmoz.net/post/2007/12/24/Breakfast-in-america-in-Paris</link>
    <guid isPermaLink="false">urn:md5:86d36a47ccce135623eb3dc871a3d9da</guid>
    <pubDate>Mon, 24 Dec 2007 02:00:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>alimentation</category><category>breakfast in america</category><category>graisse</category><category>omelette</category><category>pancakes</category><category>états unis</category>    
    <description>    &lt;p&gt;Hier matin je suis allé petit-déjeuner à &lt;a href=&quot;http://www.breakfast-in-america.com/&quot;&gt;Breakfast in america&lt;/a&gt; pas loin de saint paul. Je ne sais pas si c'est vraiment représentatif de ce qu'on peut trouver aux états unis, mais en tout cas c'était vraiment pas mal du tout. L'ambiance conviviale très bien servie par le mobilier qui fait très &lt;em&gt;american movie&lt;/em&gt;, les serveuses &lt;em&gt;completely bilinguals&lt;/em&gt;, la bouffe bien grasse à souhait avec les pommes de terre sautées, le bacon calciné, l'omelette &lt;em&gt;connecticut&lt;/em&gt;, et surtout les pancakes gigantesques fourrés &lt;em&gt;blueberry&lt;/em&gt;, tout était réuni pour se faire péter la panse dans la joie et la bonne humeur.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/12/24/Breakfast-in-america-in-Paris#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/12/24/Breakfast-in-america-in-Paris#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1079</wfw:commentRss>
      </item>
    
  <item>
    <title>Echec</title>
    <link>http://fashion.hosmoz.net/post/2007/12/24/Echec</link>
    <guid isPermaLink="false">urn:md5:42095df67e5616fec396ccf0afc23047</guid>
    <pubDate>Mon, 24 Dec 2007 01:45:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>loose</category><category>productivité</category><category>projets</category><category>tableau blanc</category><category>wow</category>    
    <description>    &lt;p&gt;Je voulais geeker un peu ce week end, et notamment travailler sur mon plugin &amp;quot;related by tags&amp;quot;, mais malheureusement j'ai réactivé mon compte &lt;acronym title=&quot;World of Warcraft&quot;&gt;WoW&lt;/acronym&gt;. Autant dire que ma productivité globale est proche du zéro absolu. Mais je ne perds pas espoir, et je vais de ce pas inscrire quelques &lt;em&gt;reminders&lt;/em&gt; bien sentis sur mon tableau blanc, et j'espère redresser la barre d'ici au jour de l'an.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/12/24/Echec#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/12/24/Echec#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1078</wfw:commentRss>
      </item>
    
  <item>
    <title>yaml, activerecord and acts_as_nested_set</title>
    <link>http://fashion.hosmoz.net/post/2007/12/02/yaml-activerecord-and-acts_as_nested_set</link>
    <guid isPermaLink="false">urn:md5:8723be74d366c359a8c02a308d5844be</guid>
    <pubDate>Sun, 02 Dec 2007 16:41:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>activerecord</category><category>rails</category><category>rake</category><category>ruby</category><category>yaml</category>    
    <description>    &lt;p&gt;I used to use this &lt;a href=&quot;http://thecaribbeanweblog.com/index.php/2007/06/21/150-yaml-et-activerecord-et-sql-plus-generalement&quot;&gt;yaml_to_ar lib&lt;/a&gt; from &lt;a href=&quot;http://thecaribbeanweblog.com/&quot;&gt;christophe&lt;/a&gt; to load categories tree into my database, using &lt;code&gt;&lt;a href=&quot;http://wiki.rubyonrails.org/rails/pages/ActsAsTree&quot;&gt;acts_as_tree&lt;/a&gt;&lt;/code&gt; in the model that was perfect. Arrived the time when I felt the need to use &lt;code&gt;&lt;a href=&quot;http://api.rubyonrails.com/classes/ActiveRecord/Acts/NestedSet/ClassMethods.html&quot;&gt;acts_as_nested_set&lt;/a&gt;&lt;/code&gt; instead, for which I had to fill the &lt;code&gt;lft&lt;/code&gt; and &lt;code&gt;rgt&lt;/code&gt; columns. So I just rewrote the &lt;em&gt;yaml_to_ar&lt;/em&gt; piece of code (put this in &lt;code&gt;lib/yaml_to_ar.rb&lt;/code&gt;):&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; 'yaml'&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;class&lt;/span&gt; YAML_to_AR&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;def&lt;/span&gt; initialize&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;file, model&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @data = File.&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;file&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#123;&lt;/span&gt; |yf| YAML::&lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;load&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt; yf &lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; @model = model&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;def&lt;/span&gt; process&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;data = @data, parent = &lt;span style=&quot;color:#0000FF; font-weight:bold;&quot;&gt;nil&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;if&lt;/span&gt; data.&lt;span style=&quot;color:#9900CC;&quot;&gt;is_a&lt;/span&gt;? &lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;Array&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; data.&lt;span style=&quot;color:#9900CC;&quot;&gt;each&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt; |val|&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; process&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;val, parent&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;elsif&lt;/span&gt; data.&lt;span style=&quot;color:#9900CC;&quot;&gt;is_a&lt;/span&gt;? Hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; data.&lt;span style=&quot;color:#9900CC;&quot;&gt;each&lt;/span&gt; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt; |key,val|&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parent = @model.&lt;span style=&quot;color:#9900CC;&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;:title =&amp;gt; key&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; process&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;val, parent&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;elsif&lt;/span&gt; data.&lt;span style=&quot;color:#9900CC;&quot;&gt;is_a&lt;/span&gt;? &lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;String&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; parent.&lt;span style=&quot;color:#9900CC;&quot;&gt;add_child&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;@model.&lt;span style=&quot;color:#9900CC;&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;:title =&amp;gt; data&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;This should handle both &lt;code&gt;acts_as_tree&lt;/code&gt; and &lt;code&gt;acts_as_nested&lt;/code&gt;. To ease things a bit further, I also wrote a rake task (to drop in &lt;code&gt;lib/tasks/db_load_categories.rake&lt;/code&gt; for example):&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;namespace :db &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; desc &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;Loads categories defaults data&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; task :load_categories =&amp;gt; :environment &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#CC0066; font-weight:bold;&quot;&gt;require&lt;/span&gt; 'lib/yaml_to_ar'&lt;br /&gt;
&amp;nbsp; &amp;nbsp; Category.&lt;span style=&quot;color:#9900CC;&quot;&gt;delete_all&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; categories = YAML_to_AR.&lt;span style=&quot;color:#9900CC;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;'db/categories.&lt;span style=&quot;color:#9900CC;&quot;&gt;yml&lt;/span&gt;', Category&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; categories.&lt;span style=&quot;color:#9900CC;&quot;&gt;process&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;Now I just &lt;code&gt;rake db:load_categories&lt;/code&gt;, and voila !&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/12/02/yaml-activerecord-and-acts_as_nested_set#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/12/02/yaml-activerecord-and-acts_as_nested_set#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1077</wfw:commentRss>
      </item>
    
  <item>
    <title>my first rails plugin: named_resources</title>
    <link>http://fashion.hosmoz.net/post/2007/11/28/my-first-rails-plugin%3A-named_resources</link>
    <guid isPermaLink="false">urn:md5:28c1356e1cfe998c3393fe046bb94dcb</guid>
    <pubDate>Wed, 28 Nov 2007 13:00:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>plugin</category><category>rails</category><category>resources</category><category>ruby</category>    
    <description>    &lt;p&gt;It's a simple plugin (2 lines of code beside class and modules declarations) which allows routes created via the &lt;code&gt;map.resources&lt;/code&gt; mechanism to be customized. Say you have the following map:&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;map.&lt;span style=&quot;color:#9900CC;&quot;&gt;resources&lt;/span&gt; :members&lt;/code&gt;


&lt;p&gt;It will generate routes like:&lt;/p&gt;

&lt;pre&gt;
/members
/members/:id
/members/new
&lt;/pre&gt;


&lt;p&gt;No say you want to i18n your app, in french for example, what do you do ? You just can't out of the box. This is where my plugin enters into action, just add a &lt;code&gt;:route_name&lt;/code&gt; parameter to the &lt;code&gt;map.resources&lt;/code&gt; call and you're set:&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;map.&lt;span style=&quot;color:#9900CC;&quot;&gt;resources&lt;/span&gt; :members, :route_name =&amp;gt; 'utilisateurs'&lt;/code&gt;


&lt;p&gt;will generate routes like:&lt;/p&gt;
&lt;pre&gt;
/utilisateurs
/utilisateurs/:id
/utilisateurs/new
&lt;/pre&gt;


&lt;p&gt;It shall also work for nested resources, although I did not test that.&lt;/p&gt;


&lt;p&gt;The code is actually pretty simple:&lt;/p&gt;

&lt;code class=&quot;ruby&quot;&gt;&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;module&lt;/span&gt; ActionController&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;module&lt;/span&gt; Resources&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;class&lt;/span&gt; Resource&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;def&lt;/span&gt; path&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; route_name = @options.&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;include&lt;/span&gt;?&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#40;&lt;/span&gt;:route_name&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#41;&lt;/span&gt; ? @options&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#91;&lt;/span&gt;:route_name&lt;span style=&quot;color:#006600; font-weight:bold;&quot;&gt;&amp;#93;&lt;/span&gt; : @plural&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @path ||= &lt;span style=&quot;color:#996600;&quot;&gt;&amp;quot;#{path_prefix}/#{route_name}&amp;quot;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt; &lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt; &lt;br /&gt;
&lt;span style=&quot;color:#9966CC; font-weight:bold;&quot;&gt;end&lt;/span&gt;&lt;/code&gt;


&lt;p&gt;To install just use &lt;code&gt;script/plugin&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;
script/plugin install http://tools.assembla.com/svn/riskle/rails/plugins/named_resources
&lt;/pre&gt;


&lt;p&gt;or to install as an svn:external resource:&lt;/p&gt;

&lt;pre&gt;
script/plugin install -x http://tools.assembla.com/svn/riskle/rails/plugins/named_resources
&lt;/pre&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/11/28/my-first-rails-plugin%3A-named_resources#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/11/28/my-first-rails-plugin%3A-named_resources#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1076</wfw:commentRss>
      </item>
    
  <item>
    <title>Accessing raw post data in a controller</title>
    <link>http://fashion.hosmoz.net/post/2007/11/21/Accessing-raw-post-data-in-a-controller</link>
    <guid isPermaLink="false">urn:md5:d8a3050d140c3d8fac1e1de762628c9d</guid>
    <pubDate>Wed, 21 Nov 2007 12:03:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>controller</category><category>http</category><category>post</category><category>raw post data</category><category>zend framework</category>    
    <description>    &lt;p&gt;For some reason, &lt;code&gt;$HTTP_RAW_POST_DATA&lt;/code&gt; does not seem to be set inside an action controller. You'll have to use the &lt;code&gt;php://input&lt;/code&gt; stream wrapper to access raw http post data:&lt;/p&gt;

&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #0000ff;&quot;&gt;$raw_post_data&lt;/span&gt; = &lt;a href=&quot;http://www.php.net/file_get_contents&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;file_get_contents&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'php://input'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/11/21/Accessing-raw-post-data-in-a-controller#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/11/21/Accessing-raw-post-data-in-a-controller#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1075</wfw:commentRss>
      </item>
    
  <item>
    <title>Xbox 360</title>
    <link>http://fashion.hosmoz.net/post/2007/11/07/Xbox-360</link>
    <guid isPermaLink="false">urn:md5:d3e3437382a7c7be9d1997554688ee8b</guid>
    <pubDate>Wed, 07 Nov 2007 13:48:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Ego</category>
        <category>bioshock</category><category>burnout</category><category>console</category><category>gears of war</category><category>jeux vidéo</category><category>skate</category><category>xbox 360</category>    
    <description>    &lt;p&gt;Bon voilà j'ai craqué la semaine dernière, j'ai acheté une xbox 360. Donc si ça vous tente, et que vous en avez une également bien entendu, mon gamertag est &lt;em&gt;ubermuda&lt;/em&gt;, n'hésitez pas à venir m'humilier sur &lt;em&gt;skate&lt;/em&gt;, &lt;em&gt;burnout revenge&lt;/em&gt; ou autre &lt;em&gt;gears of war&lt;/em&gt; :-) J'en profite pour dire aussi que &lt;em&gt;bioshock&lt;/em&gt; est vraiment un des meilleurs jeux auquel j'ai jamais joué.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/11/07/Xbox-360#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/11/07/Xbox-360#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1073</wfw:commentRss>
      </item>
    
  <item>
    <title>Extending Zend_Controller_Router_Route: the singleton problem.</title>
    <link>http://fashion.hosmoz.net/post/2007/11/05/Extending-Zend_Controller_Router_Route%3A-the-singleton-problem</link>
    <guid isPermaLink="false">urn:md5:639fef9d7c01edc0e63ee3f2c2a5c823</guid>
    <pubDate>Mon, 05 Nov 2007 14:37:00 +0100</pubDate>
    <dc:creator>Geoffrey</dc:creator>
        <category>Coding</category>
        <category>annoying</category><category>dry</category><category>oop</category><category>pattern</category><category>php5</category><category>route</category><category>self</category><category>singleton</category><category>zend framework</category>    
    <description>    &lt;p&gt;Today I ran into an issue while extending &lt;code&gt;Zend_Controller_Router_Route&lt;/code&gt;. I wanted to add a little path pre/post processing in the &lt;code&gt;match()&lt;/code&gt; and &lt;code&gt;assemble()&lt;/code&gt; methods, so I just extended the Route class to add my tiny bits of code into the methods. Except it did not work at all. After a few debuging, it turned out that the Router uses &lt;code&gt;Zend_Controller_Router_Route::getInstance()&lt;/code&gt; to retrieve a route object, which uses a &lt;code&gt;new self();&lt;/code&gt; statement to instantiate the route object. Problem is that &lt;code&gt;self&lt;/code&gt; always refers to the current class definition we're in, if the method is called from a child class, without being overloaded, self will refer to the wrong class.&lt;/p&gt;


&lt;p&gt;Example:&lt;/p&gt;
&lt;code class=&quot;php&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Foo &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public &lt;a href=&quot;http://www.php.net/static&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; getInstance&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; self;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Bar extends Foo &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.php.net/var_dump&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Bar::&lt;span style=&quot;color: #006600;&quot;&gt;getClass&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;


&lt;p&gt;echoes something like:&lt;/p&gt;

&lt;pre&gt;
object(Foo)#1 (0) {
}
&lt;/pre&gt;


&lt;p&gt;Which is fscking wrong IMHO. A quick workaround is to overload the &lt;code&gt;getInstance&lt;/code&gt; method, which is what I call pretty annoying as it does not follow the DRY principle.&lt;/p&gt;</description>
    
    
    
          <comments>http://fashion.hosmoz.net/post/2007/11/05/Extending-Zend_Controller_Router_Route%3A-the-singleton-problem#comment-form</comments>
      <wfw:comment>http://fashion.hosmoz.net/post/2007/11/05/Extending-Zend_Controller_Router_Route%3A-the-singleton-problem#comment-form</wfw:comment>
      <wfw:commentRss>http://fashion.hosmoz.net/feed/rss2/comments/1072</wfw:commentRss>
      </item>
    
</channel>
</rss>