A constructor invocation is a joinpoint and can be intercepted by a constructor interceptor.
Inheritance: extends Go\Aop\Intercept\Invocation
 /**
  * Implement this method to perform extra treatments before and
  * after the construction of a new object. Polite implementations
  * would certainly like to invoke {@link Joinpoint::proceed()}.
  *
  * @param ConstructorInvocation $invocation the construction joinpoint
  * @throws Exception if exception was thrown in constructor
  *
  * @return mixed the newly created object, which is also the result of
  * the call to {@link Joinpoint::proceed()}, might be replaced by
  * the interceptor.
  */
 public final function construct(ConstructorInvocation $invocation)
 {
     $result = null;
     try {
         $result = $invocation->proceed();
     } catch (Exception $invocationException) {
         // this is need for finally emulation in PHP
     }
     $adviceMethod = $this->adviceMethod;
     $adviceMethod($invocation);
     if (isset($invocationException)) {
         throw $invocationException;
     }
     return $result;
 }