Moteur d'aspect pour php

Description

Salut à tous,

Ça fait pas mal de temps que je ne suis pas venu sur PHPCS, et ce pour la raison suivante : le Java. Depuis l'année dernière, j'ai passé pas mal de temps à étudier le Java et le J(2)EE. Du coup, je n'ai pas eu beaucoup de temps à consacrer au PHP.

Mon petit voyage dans l'univers du Java m'a donné pas mal d'idée applicable au PHP. La présente source en est un exemple : un moteur d'aspect (je ne sais pas si le terme est vraiment juste ...).

Je ne compte pas faire de cours sur l'AOP, Wikipedia est là pour ça : http://fr.wikipedia.org/wiki/AOP.

Il faut savoir qu'il existe quelques librairies pour faire de l'AOP avec PHP, mais elles ont l'inconvénient de modifier les sources, ce que je ne voulais pas.

Du coup, j'utilise un objet proxy qui utilise lui-même la méthode magique __call() pour analyser les appels de méthodes et appliquer les aspects qui vont bien.

Source / Exemple :


La capture parle d'elle-même ! J'ai mis un petit exemple fonctionnel avec un aspect persistence.xml qui permet de sauvegarder, récupérer et mettre à jour en base de données les instances de la classe Person, de manière complètement transparente pour l'utilisateur. 

Je ne suis pas sur que ce soit une très bonne manière d'utiliser l'AOP, mais il a le mérite d'être un exemple très parlant.

Conclusion :


Ma source n'est qu'une ébauche ou plutôt un proof-of-concept. Mais je suis ouvert à tous les commentaires afin de faire évoluer cette source !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.