<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://clear-cache.fr/?feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Clear Cache  - Commentaires</title>
  <link>http://clear-cache.fr/?</link>
  <atom:link href="http://clear-cache.fr/?feed/rss2/comments" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Wed, 27 Jan 2010 19:34:09 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
    
    <item>
    <title>How to create a custom Doctrine behavior - ELLAOm</title>
    <link>http://clear-cache.fr/?post/2009/11/26/How-to-create-a-custom-Doctrine-behavior#c302</link>
    <guid isPermaLink="false">urn:md5:7c74c64f3fb987d7afc8bfb4c4ca367c</guid>
    <pubDate>Sat, 02 Jan 2010 15:56:04 +0100</pubDate>
    <dc:creator>ELLAOm</dc:creator>
    
    <description>&lt;p&gt;If students are willing to see more information about this topic, they should order already written essay or &amp;lt;a href=&quot;http://clear-cache.fr/?post/2009/11/26/ &lt;a href=&quot;http://www.gogetessays.com&quot; title=&quot;http://www.gogetessays.com&quot; rel=&quot;nofollow&quot;&gt;http://www.gogetessays.com&lt;/a&gt;&quot;&amp;gt;buy an essay&amp;lt;/a&amp;gt; with the help of custom writing service.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>How to create a custom Doctrine behavior - eNk`</title>
    <link>http://clear-cache.fr/?post/2009/11/26/How-to-create-a-custom-Doctrine-behavior#c178</link>
    <guid isPermaLink="false">urn:md5:47a8176af68cc745fee2ed2cf9adb1c6</guid>
    <pubDate>Tue, 15 Dec 2009 15:36:15 +0100</pubDate>
    <dc:creator>eNk`</dc:creator>
    
    <description>&lt;p&gt;@Marië: Hi :) in your exemple you create a PostComment but you don't set the element (post) and user ids. In this post I don't do anything to affect these values automaticaly. So you need to save the post object and then create the PostComment:&lt;br /&gt;
$comment = new PostComment();&lt;br /&gt;
$comment-&amp;gt;content =&quot;this is comment one&quot;;&lt;br /&gt;
$comment-&amp;gt;setElementId($post-&amp;gt;getId());&lt;br /&gt;
$comment-&amp;gt;setUserId($user-&amp;gt;getId());&lt;br /&gt;
$comment-&amp;gt;save();&lt;/p&gt;


&lt;p&gt;--&lt;/p&gt;


&lt;p&gt;Update:&lt;br /&gt;
I just realize that there is a little mistake in my code, in the generator class. The relations for the XXXComment class are not correct. So I did a little change to fix it. I overrided getRelationLocalKey() and did some change in buildRelation() and setUp() in the CommentGenerator class.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>How to create a custom Doctrine behavior - Marië</title>
    <link>http://clear-cache.fr/?post/2009/11/26/How-to-create-a-custom-Doctrine-behavior#c177</link>
    <guid isPermaLink="false">urn:md5:d0d5cbddf1181919fc2130efb1202765</guid>
    <pubDate>Mon, 14 Dec 2009 21:06:23 +0100</pubDate>
    <dc:creator>Marië</dc:creator>
    
    <description>&lt;p&gt;This looks very nice. But how to use it? Could you provide an example?&lt;/p&gt;


&lt;p&gt;I tried something similar to this:&lt;br /&gt;
(but this does not works)&lt;/p&gt;


&lt;p&gt;$user = new MyUserClass();&lt;br /&gt;
$user-&amp;gt;name = 'testuser';&lt;br /&gt;
$user-&amp;gt;save();&lt;/p&gt;


&lt;p&gt;$post = new Post();&lt;br /&gt;
$post-&amp;gt;content = 'postcontent';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$comment = new PostComment();&lt;br /&gt;
$comment-&amp;gt;content =&quot;this is comment one&quot;;&lt;br /&gt;
$post-&amp;gt;PostComments[] = $comment;&lt;br /&gt;
&lt;br /&gt;
$post-&amp;gt;save();&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>How to create a custom Doctrine behavior - CpNForTehWin</title>
    <link>http://clear-cache.fr/?post/2009/11/26/How-to-create-a-custom-Doctrine-behavior#c49</link>
    <guid isPermaLink="false">urn:md5:d461eeae38e322ebd1b40a7f91e0138f</guid>
    <pubDate>Thu, 26 Nov 2009 16:54:07 +0100</pubDate>
    <dc:creator>CpNForTehWin</dc:creator>
    
    <description>&lt;p&gt;Nice post ! It's very useful to can do this easily.&lt;br /&gt;
To do taggable, sortable, and now commentable :D&lt;/p&gt;


&lt;p&gt;Other ideas of behaviors ?&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Advanced filters with numbers for Doctrine. (fr and en) - CpNForTehWin</title>
    <link>http://clear-cache.fr/?post/2009/11/11/Advanced-filters-with-numbers-for-Doctrine#c48</link>
    <guid isPermaLink="false">urn:md5:f89e39a8ac4f116dbad31b00d17bb62a</guid>
    <pubDate>Fri, 13 Nov 2009 14:09:22 +0100</pubDate>
    <dc:creator>CpNForTehWin</dc:creator>
    
    <description>&lt;p&gt;Bon article, c'est dommage à chaque fois de faire tout ça à la main et de le perdre sur le site suivant.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Add new tasks in your Symfony project - Malte</title>
    <link>http://clear-cache.fr/?post/2009/09/30/Symfony-Task#c43</link>
    <guid isPermaLink="false">urn:md5:5c3b8ae432cb79d10d32e707738e58df</guid>
    <pubDate>Wed, 11 Nov 2009 03:33:59 +0100</pubDate>
    <dc:creator>Malte</dc:creator>
    
    <description>&lt;p&gt;Hello,&lt;/p&gt;


&lt;p&gt;Great post, thank you. Please write in englisch in future articles, too.&lt;/p&gt;


&lt;p&gt;Your blog is in my rss reader now.&lt;/p&gt;


&lt;p&gt;I'm from germany and don't speak french...&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Les Criteria c'est trop nul :p - Frosty</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Les-Criteria-c-est-trop-nul-%3Ap#c38</link>
    <guid isPermaLink="false">urn:md5:c23ab59f4dad7fb7d5fce569417981f9</guid>
    <pubDate>Thu, 22 Oct 2009 16:13:30 +0200</pubDate>
    <dc:creator>Frosty</dc:creator>
    
    <description>&lt;p&gt;Plutôt que d'hydrater les objets Propel avec PDO lors de jointures, je propose :&lt;br /&gt;
&lt;a href=&quot;http://www.symfony-project.org/plugins/DbFinderPlugin&quot; title=&quot;http://www.symfony-project.org/plugins/DbFinderPlugin&quot; rel=&quot;nofollow&quot;&gt;http://www.symfony-project.org/plug...&lt;/a&gt;&lt;br /&gt;
... qui devrait déjà faire tout ce qu'il faut.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Add new tasks in your Symfony project - Pedro Casado</title>
    <link>http://clear-cache.fr/?post/2009/09/30/Symfony-Task#c37</link>
    <guid isPermaLink="false">urn:md5:7ab3b3d2273da534d4d65949ca01ae33</guid>
    <pubDate>Fri, 16 Oct 2009 23:29:26 +0200</pubDate>
    <dc:creator>Pedro Casado</dc:creator>
    
    <description>&lt;p&gt;Very good!&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Add new tasks in your Symfony project - Jonathan Nieto</title>
    <link>http://clear-cache.fr/?post/2009/09/30/Symfony-Task#c36</link>
    <guid isPermaLink="false">urn:md5:e58da7b5fa2da6f5dc370cdb1f8bd4f0</guid>
    <pubDate>Fri, 16 Oct 2009 16:12:46 +0200</pubDate>
    <dc:creator>Jonathan Nieto</dc:creator>
    
    <description>&lt;p&gt;Nice example, It clears me a lot of things about tasks (I don't use them so much). Thx for sharing!&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>SQLSTATE[HY000]: General error: 1005 - Raphael</title>
    <link>http://clear-cache.fr/?post/2009/05/15/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005#c35</link>
    <guid isPermaLink="false">urn:md5:292f4222f07d5e1f397ba1aafcda3498</guid>
    <pubDate>Tue, 06 Oct 2009 20:46:48 +0200</pubDate>
    <dc:creator>Raphael</dc:creator>
    
    <description>&lt;p&gt;Merci beaucoup ! Vous m'avez bien aidé !&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>SQLSTATE[HY000]: General error: 1005 - Xavier</title>
    <link>http://clear-cache.fr/?post/2009/05/15/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005#c34</link>
    <guid isPermaLink="false">urn:md5:dfdae473df1328b49113d55adedc72ae</guid>
    <pubDate>Thu, 27 Aug 2009 14:20:46 +0200</pubDate>
    <dc:creator>Xavier</dc:creator>
    
    <description>&lt;p&gt;Plus généralement, il faut que la définition du champ &quot;table_one_id&quot; soit identique (en taille) à la définition du champ Table1.id.&lt;/p&gt;


&lt;p&gt;Par exemple, dans le plugin sfDoctrineGuardPlugin, le champ ID de la table sfGuardUser est défini comme integer(4).  Une référence à cette table devra donc aussi être un integer(4)...&lt;/p&gt;


&lt;p&gt;Pas terrible finalement de devoir inspecter le schema.yml des plugins avant de pouvoir les utiliser réellement :-(&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>communauté Symfony / Propel /Doctrine sur IRC - eax</title>
    <link>http://clear-cache.fr/?post/2009/07/31/communaut%C3%A9-Symfony-/-Propel-/Doctrine-sur-IRC#c29</link>
    <guid isPermaLink="false">urn:md5:81b5980013076796fe9c7288e59ab560</guid>
    <pubDate>Fri, 31 Jul 2009 22:13:57 +0200</pubDate>
    <dc:creator>eax</dc:creator>
    
    <description>&lt;p&gt;Y'a #symfony-fr aussi&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Formulaires symfony: Traitement sur la valeur d'un champ à la sauvegarde - eNk`</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Formulaires%3A-Traitement-sur-la-valeur-d-un-champ-%C3%A0-la-sauvegarde#c27</link>
    <guid isPermaLink="false">urn:md5:e929acc4a7d8d3aca95eb976fc7b535f</guid>
    <pubDate>Thu, 23 Jul 2009 21:08:31 +0200</pubDate>
    <dc:creator>eNk`</dc:creator>
    
    <description>&lt;p&gt;La solution du setter peut paraitre plus simple au premier abord. Mais cela implique que tu appel la méthode toi même (ou alors j'ai loupé un épisode ^^) alors que les méthodes updateXXXColumn()  sont appelées  automatiquement par la méthode processValues() qui à pour but de faire un traitement définit par l'utilisateur avant que les valeurs de l'objet correspondant au formulaire soient mise à jour.&lt;br /&gt;
(processValues va intervenir suite à un save() sur ton formulaire par exemple)&lt;/p&gt;


&lt;p&gt;Les méthodes updateXXXColumn() font parties du mécanisme du traitement des valeurs de l'objet, de même que pour les classes de filtre il est possible de créer des méthodes convertXXXValue().&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Formulaires symfony: Traitement sur la valeur d'un champ à la sauvegarde - Jeff</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Formulaires%3A-Traitement-sur-la-valeur-d-un-champ-%C3%A0-la-sauvegarde#c23</link>
    <guid isPermaLink="false">urn:md5:c5444accc19664be00fa45dc9380e516</guid>
    <pubDate>Wed, 22 Jul 2009 11:36:27 +0200</pubDate>
    <dc:creator>Jeff</dc:creator>
    
    <description>&lt;p&gt;Plus simplement, il est possible de faire ceci&lt;/p&gt;


&lt;p&gt;public function setPassword($value) {&lt;br /&gt;
parent::_set('password', sha1($value));&lt;br /&gt;
}&lt;/p&gt;


&lt;p&gt;Par exemple (où password est le nom du champ à updater).&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Custom validator sous symfony 1.2 - eNk`</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Custom-validator-sous-symfony-1.2#c22</link>
    <guid isPermaLink="false">urn:md5:af31480cf4f72c68fded1e0f0bd48193</guid>
    <pubDate>Tue, 02 Jun 2009 11:48:57 +0200</pubDate>
    <dc:creator>eNk`</dc:creator>
    
    <description>&lt;p&gt;Bonjour, et désolé pour cette réponse un peu tardive =).&lt;/p&gt;


&lt;p&gt;Je ne pense pas que le problème vienne de ta méthode checkEmail(), mais plutôt de la méthode doClean() du validateur.&lt;br /&gt;
En effet dans le cas où checkEmail() retourne bien un utilisateur tu contrôle le password, ça ok, mais que fais tu dans le cas où checkEmail() ne retourne pas d'utilisateur ou si le test sur le password est faux ?&lt;br /&gt;
La méthode doClean() d'un validateur est utiliser pour contrôler la validité de la valeur d'un champ, dans le cas où cette valeur n'est pas correcte il faut lever une exception de type sfValidatorError. Donc dans ton cas je pense qu'il faudrait que tu ai quelque chose comme ça:&lt;/p&gt;


&lt;p&gt;if ($user = UserPeer::checkEmail($values['email']))&lt;br /&gt;
{&lt;br /&gt;
$userPassword = $user-&amp;gt;getPassword();&lt;br /&gt;
if (MD5($values['password']) != $userPassword()) { throw new sfValidatorError(...); }&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
throw new sfValidatorError(...);&lt;br /&gt;
}&lt;/p&gt;


&lt;p&gt;Tu peut aussi regarder cette page de la doc qui je pense correspond bien à ce que tu souhaite faire:&lt;br /&gt;
&lt;a href=&quot;http://www.symfony-project.org/cookbook/1_2/en/conditional-validator&quot; title=&quot;http://www.symfony-project.org/cookbook/1_2/en/conditional-validator&quot; rel=&quot;nofollow&quot;&gt;http://www.symfony-project.org/cook...&lt;/a&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Custom validator sous symfony 1.2 - Julien</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Custom-validator-sous-symfony-1.2#c21</link>
    <guid isPermaLink="false">urn:md5:d06ac3a494ea5e2f6bcc5c1c0c2050ae</guid>
    <pubDate>Mon, 25 May 2009 16:58:40 +0200</pubDate>
    <dc:creator>Julien</dc:creator>
    
    <description>&lt;p&gt;Bonjour,&lt;br /&gt;
Partant de votre exemple, j'essaie de faire mon formulaire de login, mais j'ai du mal sur la fionction YourClass::checkEmail.&lt;br /&gt;
Dans UserPeer, j'ai la fonction:&lt;br /&gt;
public static function checkEmail($email)&lt;br /&gt;
{&lt;br /&gt;
$c = new Criteria();&lt;br /&gt;
$c-&amp;gt;add(self::EMAIL, $email);&lt;/p&gt;


&lt;p&gt;return self::doSelectOne($c);&lt;br /&gt;
}&lt;/p&gt;


&lt;p&gt;et dans la fonction doClean:&lt;br /&gt;
if ($user = UserPeer::checkEmail($values['email']))&lt;br /&gt;
{&lt;br /&gt;
$userPassword = $user-&amp;gt;getPassword();&lt;br /&gt;
if (MD5($values['password']) = $userPassword())&lt;br /&gt;
....&lt;/p&gt;


&lt;p&gt;Mais ca ne fonctionne pas.&lt;/p&gt;


&lt;p&gt;Tu pourrai snous eclairer sur le contenu à mettre dans la fonction checkPseudo, s'il te plait?&lt;br /&gt;
Merci&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Custom validator sous symfony 1.2 - eNk`</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Custom-validator-sous-symfony-1.2#c20</link>
    <guid isPermaLink="false">urn:md5:3ec77a60d76f94df718820aa2c94a81e</guid>
    <pubDate>Sat, 23 May 2009 13:43:05 +0200</pubDate>
    <dc:creator>eNk`</dc:creator>
    
    <description>&lt;p&gt;En effet l'utilisation d'un sfValidatorPropelUnique dans ce cas est plus simple que la construction d'un nouveau validateur. Mais comme je l'ai indiqué dans mon commentaire précédent mon idée ici est de montrer comment se construit un validateur.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Custom validator sous symfony 1.2 - michel</title>
    <link>http://clear-cache.fr/?post/2009/04/26/Custom-validator-sous-symfony-1.2#c13</link>
    <guid isPermaLink="false">urn:md5:4a77ac2a2471b10fc7a46bfa119f1e2b</guid>
    <pubDate>Thu, 21 May 2009 15:36:22 +0200</pubDate>
    <dc:creator>michel</dc:creator>
    
    <description>&lt;p&gt;Bonjour,&lt;br /&gt;
Je débute sous symfony et je cherche par ci par la des infos et je suis tombé sur votre site.&lt;br /&gt;
L'astuce est très utile mais je voulais savor si il est pas plus simple d'utiliser :&lt;/p&gt;


&lt;p&gt;... new sfValidatorPropelUnique(array('model' =&amp;gt; 'user', 'column' =&amp;gt; 'username'), array('invalid' =&amp;gt; 'Ce pseudo  est déja utilisé. Veuillez en choisir un auutre.'))&lt;/p&gt;


&lt;p&gt;pour vérifier l'unicité du pseudo dans la table?&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Extension du Doctrine Routing Object - Mathieu</title>
    <link>http://clear-cache.fr/?post/2009/05/04/Extension-du-Doctrine-Routing-Object#c9</link>
    <guid isPermaLink="false">urn:md5:47dbeb944a862ea9f64f9d5cfd4da846</guid>
    <pubDate>Wed, 20 May 2009 10:45:25 +0200</pubDate>
    <dc:creator>Mathieu</dc:creator>
    
    <description>&lt;p&gt;Merci pour l'astuce :p&lt;br /&gt;
Cordialement,&lt;br /&gt;
Mathieu.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>SQLSTATE[HY000]: General error: 1005 - eNk`</title>
    <link>http://clear-cache.fr/?post/2009/05/15/SQLSTATE%5BHY000%5D%3A-General-error%3A-1005#c8</link>
    <guid isPermaLink="false">urn:md5:9548985b33bff69df6273f2f2536dbfb</guid>
    <pubDate>Wed, 20 May 2009 10:34:24 +0200</pubDate>
    <dc:creator>eNk`</dc:creator>
    
    <description>&lt;p&gt;Thanks for this tip =)&lt;/p&gt;</description>
  </item>
      
</channel>
</rss>