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

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