Test Failed
Push — master ( e3c39f...fe570d )
by Mihail
07:20
created

Apps/View/Admin/default/main/add_route.php (1 issue)

Check for conflicting imported classes with local classes.

Bug Major
1
<?php
2
3
use Ffcms\Templex\Url\Url;
0 ignored issues
show
This use statement conflicts with another class in this namespace, Url. Consider defining an alias.

Let?s assume that you have a directory layout like this:

.
|-- OtherDir
|   |-- Bar.php
|   `-- Foo.php
`-- SomeDir
    `-- Foo.php

and let?s assume the following content of Bar.php:

// Bar.php
namespace OtherDir;

use SomeDir\Foo; // This now conflicts the class OtherDir\Foo

If both files OtherDir/Foo.php and SomeDir/Foo.php are loaded in the same runtime, you will see a PHP error such as the following:

PHP Fatal error:  Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.php

However, as OtherDir/Foo.php does not necessarily have to be loaded and the error is only triggered if it is loaded before OtherDir/Bar.php, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias:

// Bar.php
namespace OtherDir;

use SomeDir\Foo as SomeDirFoo; // There is no conflict anymore.
Loading history...
4
5
/** @var $routes array */
6
/** @var $model \Apps\Model\Admin\Main\FormAddRoute */
7
/** @var \Ffcms\Templex\Template\Template $this */
8
9
$this->layout('_layouts/default', [
10
    'title' => __('Add route'),
11
    'breadcrumbs' => [
12
        Url::to('main/index') => __('Main'),
13
        Url::to('main/routing') => __('Routing'),
14
        __('Add route')
15
    ]
16
]);
17
?>
18
19
<?php $this->start('body') ?>
20
<h1><?= __('New route') ?></h1>
21
<?php $form = $this->form($model) ?>
22
<?= $form->start() ?>
23
24
<?= $form->fieldset()->select('type',
25
    [
26
        'options' => [
27
            'Alias' => __('Static (alias) route'),
28
            'Callback' => __('Dynamic (callback) route')
29
        ],
30
        'optionsKey' => true
31
    ],
32
    __('Specify type of defined rule')) ?>
33
<?= $form->fieldset()->radio('loader', ['options' => ['Front', 'Admin', 'Api']], __('Select loader type where be applied rule')) ?>
34
<?= $form->fieldset()->text('source', ['class' => 'form-control'], __('Define source path (for static alias) or class name (for dynamic rule) to use it for target query')) ?>
35
<?= $form->fieldset()->text('target', ['class' => 'form-control'], __('Define target path or class path for displayd item on source path')) ?>
36
37
<?= $form->button()->submit(__('Add new route'), ['class' => 'btn btn-primary']) ?>
38
<?= $form->button()->cancel(__('Cancel'), ['link' => ['main/routing'], 'class' => 'btn btn-secondary']) ?>
39
40
<?= $form->stop() ?>
41
<?php $this->stop() ?>
42