| @@ 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 | } |
|