Intercepteur utilisant l'extension PHP PECL AOP pour la lib PHP AOP.io (php-aop).

Fournit une couche d'abstration à l'extension PECL AOP, avec de nombreuses fonctionnalités pour aller plus loin dans la manipulation de l'AOP avec PHP, au-delà des possibilités de l'extension de PECL.

La documentation qui suit considaire que vous avez déjà installé la lib PHP de AOP.io.

Démarrage

Installer PECL AOP

Vous pouvez au choix utiliser pecl

    sudo pecl install aop-beta

ou télécharger l'extension AOP PHP depuis Github, compiler et ajouter l'extension à votre php.ini

    #Clone the repository on your computer
    git clone https://github.com/AOP-PHP/AOP
    cd AOP
    #prepare the package, you will need to have development tools for php
    phpize
    #compile the package
    ./configure
    make
    #before the installation, check that it works properly
    make test
    #install
    make install

Maintenant, vous pouvez ajouter la ligne suivante à votre php.ini pour activer l'extension AOP

    extension=AOP.so

Plus de documentation sur le repository PECL AOP.

Installer pecl-aop-interceptor

Téléchargez pecl-aop-interceptor (et configurez votre autoloader) ou utilisez composer require: "aop-io/pecl-aop-interceptor".

Utilisation

use Aop\Aop;

// Init
$aop = new Aop([ 'php_interceptor' => '\PeclAop\PeclAopInterceptor']);

L'extension PECL AOP supporte le selecteur wilcard, exemple :

Aop::addBefore('MyClass::get*()', function($jp) {
  // votre hack ici
});

La syntaxe des sélecteurs de point de coupe (pointcut) de l'extension PECL AOP est documentée sur la page PECL AOP (pointcuts syntax).

A part les sélecteurs supportés et leurs syntaxes, l'utilisation de php-aop est identique aux autres intercepteurs.