registerAspect() public method

Register an aspect in the container
public registerAspect ( Go\Aop\Aspect $aspect )
$aspect Go\Aop\Aspect Instance of concrete aspect
 /**
  * Configures an AspectContainer with advisors, aspects and pointcuts
  *
  * @param AspectContainer $container
  *
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $reader = $container->get('aspect.annotation.reader');
     $container->registerAspect(new InvariantCheckerAspect($reader));
     $container->registerAspect(new PostconditionCheckerAspect($reader));
     $container->registerAspect(new PreconditionCheckerAspect($reader));
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 protected function configureAop(AspectContainer $container)
 {
     $typeCheckers = [new IntegerTypeChecker(), new CallableTypeChecker(), new StringTypeChecker(), new GenericObjectTypeChecker(), new ObjectTypeChecker(), new MixedTypeChecker(), new NullTypeChecker()];
     $typeCheckers[] = new TypedTraversableChecker(...$typeCheckers);
     $container->registerAspect(new PropertyWriteAspect(new PropertyWriteImmutabilityChecker(), new PropertyWriteTypeChecker()));
     $container->registerAspect(new PostConstructAspect(new ObjectStateChecker(new ApplyTypeChecks(...$typeCheckers), new PropertyTypeFinder())));
     $container->registerAspect(new PrePublicMethodAspect(new ParameterInterfaceJailer(new JailFactory())));
 }
Example #3
0
 /**
  * Configure an AspectContainer with advisors, aspects and pointcuts
  *
  * @param AspectContainer $container
  *
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $container->registerAspect(new DeclareErrorAspect());
     $container->registerAspect(new CachingAspect());
     $container->registerAspect(new LoggingAspect());
     $container->registerAspect(new IntroductionAspect());
     $container->registerAspect(new PropertyInterceptorAspect());
     $container->registerAspect(new FunctionInterceptorAspect());
     $container->registerAspect(new FluentInterfaceAspect());
     $container->registerAspect(new HealthyLiveAspect());
     $container->registerAspect(new DynamicMethodsAspect());
 }
Example #4
0
 /**
  * Configure an AspectContainer with advisors, aspects and pointcuts
  *
  * @param AspectContainer|Container $container
  *
  * @return void
  */
 protected final function configureAop(AspectContainer $container)
 {
     $aspectIds = $container->getParameter('aspect.list');
     foreach ($aspectIds as $aspectId) {
         $container->registerAspect($container->get($aspectId));
     }
 }
Example #5
0
 /**
  * Registers all aspects from magento configuration in the aspect kernel.
  *
  * @param AspectContainer $container
  * @return void
  */
 public function configureAop(AspectContainer $container)
 {
     foreach ($this->_getAspects() as $class) {
         if ($class) {
             $aspect = new $class();
             $container->registerAspect($aspect);
         }
     }
 }
Example #6
0
 /**
  * Configure an AspectContainer with advisors, aspects and pointcuts
  *
  * @param \Go\Core\AspectContainer $container AOP Container instance
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     foreach ((array) aspects() as $class) {
         $class = class_exists($class) ? new $class() : null;
         if ($class instanceof Aspect) {
             $container->registerAspect($class);
         }
     }
 }
Example #7
0
 /**
  * Registers all aspects from magento configuration in the aspect kernel.
  *
  * @param AspectContainer $container
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $config = (array) Mage::getConfig()->getNode(self::CONFIG_PATH_AOP_ASPECTS);
     foreach ($config as $class) {
         if ($class) {
             $aspect = new $class();
             $container->registerAspect($aspect);
         }
     }
 }
 protected function configureAop(AspectContainer $container)
 {
     $container->registerAspect(new MonitorAspect());
 }
Example #9
0
 /**
  * Configure an AspectContainer with advisors, aspects and pointcuts
  *
  * @param AspectContainer $container
  *
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $container->registerAspect(new AuthorizationSecurityAspect());
 }
 /**
  * Configure an AspectContainer with advisors, aspect and pointcuts
  *
  * @param AspectContainer $container
  *
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $container->registerAspect(new DemoAspect('ASPECT!'));
 }
Example #11
0
 /**
  * Configures an AspectContainer with advisors, aspects and pointcuts
  *
  * @param AspectContainer $container
  *
  * @return void
  */
 protected function configureAop(AspectContainer $container)
 {
     $reader = $container->get('aspect.annotation.reader');
     $container->registerAspect(new ContractCheckerAspect($reader));
 }
Example #12
0
 public function registerBundleAspect(\Go\Core\AspectContainer $appAspectContainer)
 {
     $appAspectContainer->registerAspect(new \examples\exampleBundle\Aspect\AccessAspect());
 }