Code Duplication    Length = 33-33 lines in 2 locations

src/View/ViewController.php 1 location

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

src/Controller/AbstractController.php 1 location

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