| 1234567891011121314151617181920212223242526272829303132333435 |
- <?php
- declare(strict_types=1);
- /**
- * This file is part of Hyperf.
- *
- * @link https://www.hyperf.io
- * @document https://hyperf.wiki
- * @contact group@hyperf.io
- * @license https://github.com/hyperf/hyperf/blob/master/LICENSE
- */
- namespace Hyperf\Di\Aop;
- use Closure;
- use Hyperf\Di\Exception\InvalidDefinitionException;
- class Pipeline extends \Hyperf\Pipeline\Pipeline
- {
- protected function carry(): Closure
- {
- return function ($stack, $pipe) {
- return function ($passable) use ($stack, $pipe) {
- if (is_string($pipe) && class_exists($pipe)) {
- $pipe = $this->container->get($pipe);
- }
- if (! $passable instanceof ProceedingJoinPoint) {
- throw new InvalidDefinitionException('$passable must is a ProceedingJoinPoint object.');
- }
- $passable->pipe = $stack;
- return method_exists($pipe, $this->method) ? $pipe->{$this->method}($passable) : $pipe($passable);
- };
- };
- }
- }
|