Jean-Christian Paul Denis - Mot-clé - method<p>Moment de vie d'un homme invisible.</p>2024-03-24T07:33:28+01:00Jean-Christian Denisurn:md5:b7c6a660dff5a4abb67f3324fb2cd711DotclearPlus tu pédales moins vite…urn:md5:b15db8c0e8253e43fa2aed2f20854bb12022-07-06T20:40:00+01:002022-07-06T19:54:13+01:00Jean-Christian DenisDotclearmagicmethodphp <p>…moins tu avances plus vite.</p>
<p>Cela fait plus de six mois (de mon temps libre) que <a href="https://chez.jcdenis.fr/post/2022/05/12/Dotclear-Nx-Pourquoi">je bricole sans limite le code de Dotclear</a> et je dois avouer que je pensais avancer beaucoup plus vite. J'avais tablé sur environ un an pour sortir une version utilisable ressemblant à ce que j'imaginais d'un Dotclear futur, avec six mois pour remodeler la structure des fichiers, classes et fonctionnement général, puis six mois pour remodeler les méthodes et "tweaker" tout ça.<br /><a href="https://chez.jcdenis.fr/public/photos/20220417-20.jpg" title="20220417-20.jpg, juil. 2022"><figure style="text-align: center;"><img src="https://chez.jcdenis.fr/public/photos/.20220417-20_m.jpg" alt="20220417-20.jpg, juil. 2022" title="20220417-20.jpg, juil. 2022" /><figcaption>Evan - Meximieux - 04/2022</figcaption></figure></a><br />Force est de constater qu'au bout de six mois (passés) je suis loin d'avoir fini la première partie. Et je ralentie. Par exemple cela fait 3 semaines que je bloque sur une simple méthode magique que je souhaite supprimer proprement... Im-pos-sible. Trop bien imbriqué et donc remplacement trop lourd... mais je n'abandonne pas. Je ralentie juste. Pas grave, je n'ai pas signé de contrat :p<br /><br /><em>PS: Pour ceux que ça intéresse (il y en a?), la méthode en question est à l'instant T: Dotclear\Database\Record::__call().</em></p>https://chez.jcdenis.fr/post/2022/07/06/Plus-tu-p%C3%A9dales-moins-vite%E2%80%A6#comment-formhttps://chez.jcdenis.fr/feed/atom/comments/244getModifiersurn:md5:3269464053328b88a82460df16eee1622022-05-20T21:19:00+01:002022-05-20T20:35:40+01:00Jean-Christian DenisBlablamethodphpstatement<p>Pour continuer sur <a href="https://chez.jcdenis.fr/post/2022/05/18/getAttributes">ma lancé d'hier</a>, voici quelques constats du moment.</p> <p>Hier je parlais des ArrayObject, sorte de fourre-tout sans nom et sans type. Un exemple de son utilisation est le passage de paramètres aux méthodes qui servent à faire des requêtes sur la base de données. On les traites à coup de tests pour savoir si une propriété des paramètres est vide, est un tableau, et un tableau d'entier, etc... Je me suis dis, tiens bonne occasion de passer par une mini class qui permette de faire ça.</p>
<p>On crée une instance d'un class Param, on lui balance tous les paramètres qu'on veut, et ensuite la class qui gère les requêtes sur la base transforme Param à sa guise pour avoir en retour toujours le bon type de paramètres. Bon. Ca fonctionne. Mais ça utilise une class générique (Param), une classe par type de requête (LogParam, NoticeParam, UserParam, etc...) ce n'est pas plus court, ce n'est pas plus lisible (enfin si mais c'est plus long). Bref, je ne sais pas si je garde ça…</p>
<p>Tiens, au passage, j'ai essayé de me passer de ce Param et d'utilisé uniquement les sqlStatement déjà présent dans quelques class et qui devront à terme être présent partout. Ben ce n'est pas possible car il est quasi impossible de savoir ce qu'on a déjà mis dedans (on a parfois besoin de modifier un paramètre déjà existant ou de le tester pour ajouter une autre options) et on ne peut pas nom plus passer un SelectStatement a deux requêtes consécutives (ou alors peut-être avec un clone mais ça va devenir compliqué) car si on ajoute par exemple un ->from() dans le première requête, il se retrouve dans la seconde alors qu'on l'y ajoute aussi (cette deuxième requête pouvant être faite sans la première)</p>
<p>Bref, j'ai mal à la tête et je n'arrive pas encore à la bonne solution.</p>https://chez.jcdenis.fr/post/2022/05/20/getModifiers#comment-formhttps://chez.jcdenis.fr/feed/atom/comments/50