Question

Je suis revenu au développement php à partir de Moose et le code d'objet CLOS comme modèle d'objet me manque beaucoup . Existe-t-il une sorte de sucre syntaxique qui me permettrait d’écrire moins de code en php lorsqu’il s’agit d’objets?

Juste pour souligner cette exigence un peu plus. Je ne veux pas écrire une chose à plusieurs endroits. Je peux vivre avec une partie du code générée automatiquement, mais dans le code que je dois voir pour développer, je ne veux pas voir des informations redondantes qui ne sont qu'un fouillis (pensez: macro LISP si vous avez vraiment besoin de plus d'analogie). Donc, cette partie peut aussi être appelée DSL si cela a plus de sens.

J'aimerais avoir au moins rôles (mixins) et une sorte d'introspection sans réinventer le weel. Les générateurs de code et les chargeurs automatiques pourraient être un moyen de résoudre au moins une partie de ce problème.

p.s. Pour JavaScript, Joose , une API similaire serait donc très utile.

Était-ce utile?

La solution 3

Il existe également un nouveau projet http://github.com/huberry/phuby qui implémente des rôles. en php!

Autres conseils

Il n’existe pas encore de mixins en php mais il existe un RFC pour les traits qui fonctionnera à peu près de la même façon. http://wiki.php.net/rfc/traits

Utiliser la surcharge pour __call peut vous permettre d’envoyer des méthodes à d’autres classes et de l’afficher comme un mixin.

Le projet Symfony comporte un mécanisme de mixage , permettant une programmation orientée aspect comme dans CLOS. Personnellement, je n'aime pas ce genre de piratage dans l'espace utilisateur (du moins pas avec PHP). Je pense que vous feriez mieux d'utiliser les fonctionnalités fournies par le langage et peut-être d'attendre que des traits tels que (éventuellement) se frayent un chemin dans le langage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top