Подключение файлов через require

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Подключение файлов через require

Сообщение KEFIR4UK »

Добрый день.
Знаю об функции Yii::import но есть подозрение что она не корректно работает в моем случае. Вместе нее использую простой

Код: Выделить всё

require_once Yii::app()->basePath . "/modules/$module->url_name/controllers/$file";
Но после запуска кода выводиться серая страничка с кодом ошибки от браузера 500. Если вместо переменной вставить реальное значения - работает. Так же хочу отметить что подключение происхолит в цикле - у меня есть модули, и мне нужно выбрать все екшены конкретного контроллера конкретного модуля.
Почему выводиться ошибка 500? Если бы путь был не правыльный ексепшен был бы.
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

Добрый день
у меня схожая проблема в Yii1 подключались файл через include_once (файл представляет собой множество классов и разбить их на отдельные нереально так как их много) как это сделать в Yii2. Вот неполная структура файла который нужно заинклудить http://clip2net.com/s/3t8SZ0O
И как правильно использовать use при этом для подключаемых классов. Буду благодарен за помощь.

KEFIR4UK извиняюсь что влез в твою тему, но не виде смысла плодить похожую тему.
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

если 500 ошибка - смотрите логи! Или включайте вывод ошибок
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

evgenii писал(а):Добрый день
у меня схожая проблема в Yii1 подключались файл через include_once (файл представляет собой множество классов и разбить их на отдельные нереально так как их много) как это сделать в Yii2. Вот неполная структура файла который нужно заинклудить http://clip2net.com/s/3t8SZ0O
И как правильно использовать use при этом для подключаемых классов. Буду благодарен за помощь.

KEFIR4UK извиняюсь что влез в твою тему, но не виде смысла плодить похожую тему.
Инклудить файл до yii
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

в файле yii.php
http://clip2net.com/s/3t96FOT
до этой строки?
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

сделал инклуд в index.php и index-test.php
http://clip2net.com/s/3t998Ny
все равно class not found
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

при этом он ищет класс в той папке в которой выполняется скрипт common\models\
может прописать какойто use при этом нужно?
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

Yii2 чтоли?
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

Да, yii2, ссори не видел что тема в первом yii
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

Как вариант положить свой файл в корень приложения, или там в components, объявить в нем неймспейс правильный, и инклудить так же до yii
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

к сожалению не помогает, он все равно ищет файлы в папке в которой выполняется скрипт common\models\ (
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

может есть еще какието варианты решения этой проблеммы?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Подключение файлов через require

Сообщение lynicidn »

Код: Выделить всё

    /**
     * Returns the root directory of the module.
     * It defaults to the directory containing the module class file.
     * @return string the root directory of the module.
     */
    public function getBasePath()
    {
        if ($this->_basePath === null) {
            $class = new \ReflectionClass($this);
            $this->_basePath = dirname($class->getFileName());
        }

        return $this->_basePath;
    } 
ожидаемо?
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

Не до конца понял как это поможет решить мою проблему?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Подключение файлов через require

Сообщение lynicidn »

так это уии1 походу
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

lynicidn писал(а):так это уии1 походу
Yii2 чтоли?
Да, yii2, ссори не видел что тема в первом yii
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Подключение файлов через require

Сообщение lynicidn »

Yii::app()

в уии2 Yii::$app
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Подключение файлов через require

Сообщение lynicidn »

и зачем там инклюдить, там же автолоадер по psr
evgenii
Сообщения: 9
Зарегистрирован: 2015.07.28, 20:21

Re: Подключение файлов через require

Сообщение evgenii »

lynicidn
можно подробнее как это сделать ?*
через Yii::$classMap['CustomDateTime'] ?
если так то он не достучиться к классам которые внутри файла с классами ...
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Подключение файлов через require

Сообщение Onotole »

lynicidn писал(а):Yii::app()

в уии2 Yii::$app
Может именно по-этому у него ошибка 500? :D
Ответить