@@ 312-344 (lines=33) @@ | ||
309 | * @return AbstractViewHelper |
|
310 | * @throws ViewHelperException |
|
311 | */ |
|
312 | public function __call($name, $arguments) |
|
313 | { |
|
314 | // Search in core view helpers first |
|
315 | $coreViewHelper = __NAMESPACE__ . '\Helper\\' . ucfirst($name); |
|
316 | ||
317 | if (class_exists($coreViewHelper)) { |
|
318 | ||
319 | $class = new $coreViewHelper; |
|
320 | array_unshift($arguments, $this); |
|
321 | ||
322 | return call_user_func_array($class, $arguments); |
|
323 | ||
324 | } |
|
325 | ||
326 | // No core implementations found; search in custom view helpers |
|
327 | ||
328 | /** @var Config $config */ |
|
329 | $config = ServiceLocator::instance()->get(Config::class); |
|
330 | $namespace = '\\' . $config->get('namespacePrefix'); |
|
331 | ||
332 | $customViewHelper = $namespace . '\\View\\Helper\\' . ucfirst($name); |
|
333 | ||
334 | if (class_exists($customViewHelper)) { |
|
335 | ||
336 | $class = new $customViewHelper; |
|
337 | array_unshift($arguments, $this); |
|
338 | ||
339 | return call_user_func_array($class, $arguments); |
|
340 | ||
341 | } |
|
342 | ||
343 | throw new ViewHelperException('No view helper for "' . $name . '" found.'); |
|
344 | } |
|
345 | ||
346 | /** |
|
347 | * Destructor |
@@ 247-279 (lines=33) @@ | ||
244 | * |
|
245 | * @codeCoverageIgnore Not implemented yet |
|
246 | */ |
|
247 | public function __call($name, $arguments) |
|
248 | { |
|
249 | // Search in core view helpers first |
|
250 | $corePlugin = 'Faulancer\Plugin\\' . ucfirst($name); |
|
251 | ||
252 | if (class_exists($corePlugin)) { |
|
253 | ||
254 | $class = new $corePlugin; |
|
255 | array_unshift($arguments, $this); |
|
256 | ||
257 | return call_user_func_array($class, $arguments); |
|
258 | ||
259 | } |
|
260 | ||
261 | // No core implementations found; search in custom view helpers |
|
262 | ||
263 | /** @var Config $config */ |
|
264 | $config = ServiceLocator::instance()->get(Config::class); |
|
265 | $namespace = '\\' . $config->get('namespacePrefix'); |
|
266 | ||
267 | $customPlugin = $namespace . '\Plugin\\' . ucfirst($name); |
|
268 | ||
269 | if (class_exists($customPlugin)) { |
|
270 | ||
271 | $class = new $customPlugin; |
|
272 | array_unshift($arguments, $this); |
|
273 | ||
274 | return call_user_func_array($class, $arguments); |
|
275 | ||
276 | } |
|
277 | ||
278 | throw new PluginException('No plugin for "' . $name . '" found.'); |
|
279 | } |
|
280 | ||
281 | } |