АСПЕКТНО ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ PHP
Аспектно ориентированное программирование (AOP) - это парадигма программирования, которая позволяет разделить так называемые "сквозные" функциональности от основного бизнес-кода. Это достигается путем выделения аспектов, которые являются общими для нескольких модулей приложения, и их предварительной реализации.
В PHP для реализации AOP часто используются библиотеки, такие как Go! AOP
и PHP-Aspect
. Эти библиотеки предоставляют инструменты для создания и применения аспектов. Давайте рассмотрим пример использования библиотеки Go! AOP:
$aspect = new \Go\Aop\Aspect\Aspect();$aspect->setMatcher( new \Go\Aop\Intercept\Matchable\MethodMatcher( 'Namespace\Class', // Класс 'methodName' // Метод ));$aspect->setAdvice( new \Go\Aop\Framework\MethodInterceptor( function(\Go\Aop\Intercept\MethodInvocation $invocation) { // Добавить собственные действия return $invocation->proceed(); } ));$aspect->setName('someName');$aspectContainer = \Go\Aop\Kernel\AspectLoader::load([$aspect]);$aspectContainer->get('aspect.someName');
В этом примере мы создаем новый аспект, который сопоставляется с конкретным классом и методом. Далее мы назначаем действие для аспекта, которое выполняется до вызова и после вызова метода. Затем мы регистрируем аспект в контейнере аспектов и получаем его по имени, чтобы использовать его в главном коде.
ООП в рамках PHP
Complete Responsive Personal Portfolio Website Design Using HTML - CSS - JavaScript - PHP - MySQL
Code like a pro in php 2021- Best Practices and code improvements - Updated 2021
PHP Interfaces \u0026 Polymorphism - Interfaces Explained - Full PHP 8 Tutorial
PHP Аспектно-ориентированное программирование
ООП на PHP за 2 часа. Курс по PHP. Объектно ориентированное программирование на PHP
Денис Цветцих — Аспектно-ориентированное программирование на C# и .NET вчера, сегодня и завтра
Аспектно-ориентированное программирование