Вставьте путь к классу в composer, чтобы я мог удалить его в «use» в php - PullRequest
0 голосов
/ 03 сентября 2018

В этом случае у меня есть несколько классов нижнего колонтитула. Теперь мне нужно отредактировать файл "Moduler" для переключения нижних колонтитулов. Можно ли объявить версию нижнего колонтитула в composer и изменить путь «use» на что-то более статичное, например:

use Modules\Footer;

И укажите версию нижнего колонтитула в композиторе, например:

App\\Helpers\\Moduler\\Modules\\Views\\Footer\\Footer__2\\Footer

Это код, который я сейчас использую

<?php namespace App\Helpers\Moduler;

use App\Helpers\Moduler\Modules\Views\Footer\Footer__2\Footer;

class Moduler
{
    use Footer;

    public function footer()
    {
        return $this->call_footer();
    }

    public static function instance()
    {
        return new Moduler();
    }
}

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете использовать псевдонимы класса для этого:

class_alias('App\Helpers\Moduler\Modules\Views\\ooter\Footer__2\Footer', 'Modules\Footer');

Вы можете поместить это в некоторый файл и включить его автоматически, используя настройки files в composer.json.

Но, честно говоря, это похоже на действительно уродливую магию, и вы (или кто-то еще, кто должен будет иметь дело с этим в будущем) пожалеют об этом. Вместо этого используйте отдельный вспомогательный класс и / или внедрение зависимостей - это будет более ясным и предсказуемым, чем магические черты, определяемые псевдонимами.

...