1 | <?php |
||
29 | class RayAspectKernel implements AspectDriverInterface |
||
30 | { |
||
31 | /** @var Container|\Illuminate\Container\Container */ |
||
32 | protected $app; |
||
33 | |||
34 | /** @var array */ |
||
35 | protected $configure; |
||
36 | |||
37 | /** @var Compiler */ |
||
38 | protected $compiler; |
||
39 | |||
40 | /** @var Filesystem */ |
||
41 | protected $filesystem; |
||
42 | |||
43 | /** @var bool */ |
||
44 | protected $cacheable = false; |
||
45 | |||
46 | /** @var AspectModule */ |
||
47 | protected $aspectResolver; |
||
48 | |||
49 | /** @var AspectModule[] */ |
||
50 | protected $registerModules = []; |
||
51 | |||
52 | /** |
||
53 | * RayAspectKernel constructor. |
||
54 | * |
||
55 | * @param Container $app |
||
56 | * @param Filesystem $filesystem |
||
57 | * @param array $configure |
||
58 | */ |
||
59 | public function __construct(Container $app, Filesystem $filesystem, array $configure) |
||
69 | |||
70 | /** |
||
71 | * @param null|string $module |
||
72 | * |
||
73 | * @throws ClassNotFoundException |
||
74 | */ |
||
75 | public function register($module = null) |
||
83 | |||
84 | /** |
||
85 | * weaving |
||
86 | */ |
||
87 | public function weave() |
||
108 | |||
109 | /** |
||
110 | * @deprecated |
||
111 | * boot aspect kernel |
||
112 | */ |
||
113 | public function dispatch() |
||
117 | |||
118 | /** |
||
119 | * @return Compiler |
||
120 | */ |
||
121 | protected function getCompiler() |
||
125 | |||
126 | /** |
||
127 | * make source compile file directory |
||
128 | * |
||
129 | * @return void |
||
130 | */ |
||
131 | protected function makeCompileDir() |
||
135 | |||
136 | /** |
||
137 | * make aspect cache directory |
||
138 | * |
||
139 | * @codeCoverageIgnore |
||
140 | * @return void |
||
141 | */ |
||
142 | protected function makeCacheableDir() |
||
149 | |||
150 | /** |
||
151 | * @param string $dir |
||
152 | * @param int $mode |
||
153 | */ |
||
154 | private function makeDirectories($dir, $mode = 0777) |
||
162 | |||
163 | /** |
||
164 | * register Aspect Module |
||
165 | */ |
||
166 | protected function registerAspectModule() |
||
174 | |||
175 | /** |
||
176 | * @param string $class |
||
177 | * @param string $compiledClass |
||
178 | */ |
||
179 | protected function resolveContextualBindings($class, $compiledClass) |
||
187 | } |
||
188 |
If you access a property on an interface, you most likely code against a concrete implementation of the interface.
Available Fixes
Adding an additional type check:
Changing the type hint: