Jean-Christian Paul Denis - Mot-clé - type - Commentaires<p>Moment de vie d'un homme invisible.</p>2024-03-24T07:33:28+01:00Jean-Christian Denisurn:md5:b7c6a660dff5a4abb67f3324fb2cd711DotcleargetAttributes - Jean-Christian Paul Denisurn:md5:ca18aae355e3bb7c1c75b126632522f82022-05-19T19:31:42+02:002022-05-19T18:31:42+02:00Jean-Christian Paul Denis<p>Pour le remplacement des arrayObject j'ai commencé la ou c'était très facile. Et je te ferais un exemple sur la class Log et le passage de paramètres sql pour donner une idée de ceux que je souhaite remplacer un peu partout, ce n'est pas anodin et ça rajoute beaucoup de petites classes. (Et si ça reste, ce sera encore une close de non compatibilité)</p>
<p>Pour recordset, j'en bave mais ne désespère pas !</p>getAttributes - Franckurn:md5:470e403b75714fe2ab3871fc6219abe22022-05-18T22:33:06+02:002022-05-18T21:33:06+02:00Franck<p>Pour les premiers j'ai toujours pensé que ArrayObject était limité et avait été proposé pour pallier quelques défauts de la gestion des tableaux en PHP. C'est lourd, en effet.</p>
<p>Quant à l'extension des Recordsets je suis curieux de voir ce que tu vas imaginer… :-)</p>Petit patapon - Jean-Christian Paul Denisurn:md5:13f833e31f09a791974061814d23090e2022-04-27T13:25:05+02:002022-04-27T12:25:05+02:00Jean-Christian Paul Denis<p>Effectivement le plus dur est de garder l'aspect compréhension/lisibilité facile de Dotclear actuel. C'est pour ça que je n'ai pas trop poussé le truc pour l'instant n'ayant pas trouvé le bon compromis. Pour ce qui est des plugins tiers, je ai juste testé car ça bouge encore pas mal, mais je suis persuadé que ça sera plus facile ;)</p>
<p>PS: Je tâtonne est le seul vrai exemple (user) que j'ai testé pour les array ne vaut pas le coup en terme de quantité de code vs bénéfice sérénité 😋</p>Petit patapon - Franckurn:md5:0908e3fa02e31a66bb26abc94a4075312022-04-27T10:04:14+02:002022-04-27T09:04:14+02:00Franck<p>Ah oui je vois ; cela dit, dire que les array c'est le mal faut pas pousser, c'est rudement pratique dans plein de cas :-p</p>
<p>Sinon va falloir passer à des langages plus fortement typés comme le C++ ou le Python, cela dit ça serait cool, on pourrait faire de la surcharge et du polymorphisme :-)</p>
<p>Un petit trigger warning — qui vaut ce qu'il vaut, hein ? — : attention à ne pas rendre le développement par autrui (dev plugins, …) trop abscons à force d'abstractions. Je suis avec application ton dépôt et j'avoue avoir déjà du mal à retrouver mes petits, alors un tiers :-)</p>
<p>Cela dit j'attends de voir à quoi ressembleront les plugins compatibles avec la v3 pour juger :-p</p>Petit patapon - Jean-Christian Paul Denisurn:md5:b53ad646bc02dacec69dd96564f62f682022-04-27T09:44:07+02:002022-04-27T08:44:07+02:00Jean-Christian Paul Denis<p>Pour le 2, à force de lire des commentaires à droite à gauche, j'ai vue que les <q>"array" c'est le mal</q> et qu'il fallait autant que possible faire des classes plus parlantes avec des méthodes plus explicites quand à ce qu'on demande.</p>
<p>En gros, avoir <code>$user->getFirstname()</code> plutôt que <code>$res[user][user_firstname];</code> et ça permet au passage d'être certain d'avoir un type "string" en retour. (ça porte diffèrents noms comme Container, Mapper, Resolver)</p>
<p>Un des endroits ou je souhaiterais utiliser ceci est sur les résultats d'enregistrement ou les mises à jour de base de données. Le truc c'est que Dotclear a déjà les classes Cursor et $rs->extend() ça va devenir lourd si j'y ajoute encore une couche...</p>Petit patapon - Franckurn:md5:875710623e15c397ec9c27f029dc24ed2022-04-27T08:01:28+02:002022-04-27T07:01:28+02:00Franck<p>Pour le 1, est-ce que c'est gênant question perfs de lancer trop de classes/méthodes ?</p>
<p>Pour le 2, j'ai du mal à saisir le souci, explique !</p>