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

@@ 210-242 (lines=33) @@
207
     * @throws PluginException
208
     * @codeCoverageIgnore Not implemented yet
209
     */
210
    public function __call($name, $arguments)
211
    {
212
        // Search in core view helpers first
213
        $corePlugin = 'Faulancer\Plugin\\' . ucfirst($name);
214
215
        if (class_exists($corePlugin)) {
216
217
            $class = new $corePlugin;
218
            array_unshift($arguments, $this);
219
220
            return call_user_func_array($class, $arguments);
221
222
        }
223
224
        // No core implementations found; search in custom view helpers
225
226
        /** @var Config $config */
227
        $config = ServiceLocator::instance()->get(Config::class);
228
        $namespace = '\\' . $config->get('namespacePrefix');
229
230
        $customPlugin = $namespace . '\Plugin\\' . ucfirst($name);
231
232
        if (class_exists($customPlugin)) {
233
234
            $class = new $customPlugin;
235
            array_unshift($arguments, $this);
236
237
            return call_user_func_array($class, $arguments);
238
239
        }
240
241
        throw new PluginException('No plugin for "' . $name . '" found.');
242
    }
243
244
}