У меня есть каталог моделей в моем проекте, и я хотел бы сохранить классы / файлы там с разными пространствами имен. Пример:
models/User.php with classname Model_User models/Table_User.php with classname Model_Table_User
Для первого пространства имен у меня есть это в bootstrap.php
$resourceLoader->addResourceTypes(array( 'model' => array( 'namespace' => 'Model', 'path' => 'models' ) ));
Я не могу понять, как добавить второе пространство имен, чтобы он обнаруживал файлы, начинающиеся с Table_
Любые идеи?
На данный момент я добавил второй каталог с именем «tables», но он запутывается, потому что у меня есть каждое имя модели дважды (один раз в каталогах моделей и один раз в каталоге таблиц)
Это то, что я делаю сам.
У меня «Model_» сидел в '{APPLICATION_PATH} / models /' и "DbTable_" сидел в '{APPLICATION_PATH} / models / dbtables /'.
$resourceLoader->addResourceTypes(array( 'model' => array( 'namespace' => 'Model_', 'path' => APPLICATION_PATH.'/models/' ), 'dbtable' => array( 'namespace' => 'DbTable_', 'path' => APPLICATION_PATH.'/models/dbtables/' ));
$resourceLoader->addResourceTypes(array( 'model' => array( 'namespace' => 'Model_', 'path' => APPLICATION_PATH.'/models/' ), 'dbtable' => array( 'namespace' => 'DbTable_', 'path' => APPLICATION_PATH.'/models/dbtables/' ));
Разумеется, вы должны изменить это в соответствии с вашими классами и структурой папок. APPLICATION_PATH определяется в вашем index.php – но я не помню, содержит ли он конечную косую черту, поэтому проверьте это на всякий случай. (Я не на моем компьютере в данный момент, поэтому я не могу проверить …)
Просто как тот! 🙂
Это связано с _ в Table_User. Автозагрузчик, вероятно, ищет:
models/Table/User.php
Попробуйте переименовать файл в
TableUser.php
И класс:
Model_TableUser
Или создайте папку Table
и поместите User.php туда.