Ticket #1432 (closed idea: wontfix)
Methode extend() pour les classes du code
Reported by: | ChristopherC | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | module:core | Version: | 2.5 |
Severity: | normal | Keywords: | extend |
Cc: |
Description
J'aime bien l'idee et la flexibilite qu'apporte la methode record::extend( $class ) et me demandait pourquoi cela ne serait pas disponible de maniere plus generale a toutes les classes du core de Dotclear, telles que dcCore, dcBlog, dcMeta, ... ?
Change History
comment:2 Changed 11 years ago by bruno
Je ne suis pas convaincu de l'efficacité de la chose.
- Ca casse le paradigme objet (ça c'est le coté puriste de la chose)
- on n'a pas tous les avantages d'un héritage (les méthodes ajoutées restent externes à la classe)
- ça use et abuse de l'introspection php, attention aux perfs si on générélise ça partout<;
- l'appelant doit savoir que les méthodes ajoutées existent, du coup ça ne lui coûte rien d'appeler $monautreclasse->methode($lobjet) plutot que $lobjet->methode()
Note: See
TracTickets for help on using
tickets.
Il suffirait pour cela que toutes les classes Dotclear+Clearbricks étendent un dcObject fournissant cette méthode.