Я сделал кучу классов и поместил их в каталог common/a/b/c. Так, внутри файлаПространство имен с псевдонимом на Yii2 отличается от структуры каталогов
Class1.class.php
У меня есть:
<?php
namespace x\y\b\c;
class Class1
...
пространство имен отличается от структуры каталога организации, потому что хотел таким образом. (х \ у должен отображаться общих/директорий) На моей общей/конфигурации/bootstrap.php Я попытался это:
Yii::setAlias('common', dirname(__DIR__));
Yii::setAlias('x/y', '@common/a');
И пытался импортировать этот класс в другом файл, используя
use x\y\b\c\Class1;
Не имеет успеха. Но если я использую:
Yii::$classMap['x\y\b\c\Class1'] = __DIR__ . '/../../common/a/b/c/Class1.class.php';
вместо setAlias , это работает.
Интересно, если это возможно, чтобы иметь пространство имен, отличные от структуры каталогов без использования композитора, и как я могу сделать это вместо отображения каждого класса внутри общих/а/б/с
будет ли это работать для вас, Yii :: setAlias ('x/y', dirname (__ DIR __). '/ A'); ? изменить @common на фактический путь. – Hanafi
Я только что проверил это, и Yii2 все еще дает мне yii \ base \ ErrorException - класс 'x \ y \ b \ c \ Class1' не найден – StackUnder
странно ... он работает на моем localhost. я напишу как ответ правильно, тогда – Hanafi