microAOP — компактная и мощная AOP-библиотека
microAOP представляет собой компактную и мощную AOP-библиотеку, написанную на PHP. После удаления пустых строк и комментариев объём эффективного кода составляет более 300 строк, но при этом реализовано множество полезных функций, которые позволяют легко реализовать AOP в PHP. Если вы хотите использовать AOP в существующем проекте, то с microAOP это будет очень просто. Вам нужно только добавить все необходимые аспекты и внести минимальные изменения в исходный код.
Установка
MicroAOP можно установить через Composer. Процесс установки очень прост:
$ composer require dongnan/microaop
Composer установит microAOP в ваш проект. Путь установки: vendor/dongnan/microaop
.
<?php
namespace yournamespace;
class Model {
public function save() {
echo __METHOD__ . ' has been executed' . PHP_EOL;
}
}
<?php
namespace yournamespace;
class Aspect {
public function saveBefore($params) {
echo '------------------------------------------' . PHP_EOL;
echo __METHOD__ . ' has been executed' . PHP_EOL;
}
public function saveAfter($params) {
echo '------------------------------------------' . PHP_EOL;
echo __METHOD__ . ' has been executed' . PHP_EOL;
}
}
<?php
use microAOP\Proxy;
use yournamespace\Model;
use yournamespace\Aspect;
$model = new Model();
//Just bind it
Proxy::__bind__($model, new Aspect());
$model->save();
После выполнения вы получите следующий вывод:
------------------------------------------
yournamespace\Aspect::saveBefore has been executed
yournamespace\Model::save has been executed
------------------------------------------
yournamespace\Aspect::saveAfter has been executed
Особенности
Примеры
Пожалуйста, обратитесь к содержимому каталога examples в проекте.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )