странная загрузка модуля

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
zibert02
Сообщения: 203
Зарегистрирован: 2010.11.24, 17:29

странная загрузка модуля

Сообщение zibert02 »

есть модуль test, мне надо вызвать у него ф-ю в самом приложении , в котором этот модуль крутится(главное приложение)
вызываю так TestModule::ф-я на что мне выводит
include(TestModule.php) failed to open stream: No such file or directory
но если до этого вызвыать yii::app()->getModule('test')->ф-я то затем вызовы TestModule::ф-я отрабатывают нормально
это бага или фича? причем в конфиге сделан соответствующий импорт app.modules.test.models.* и модуль подключен

Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: странная загрузка модуля

Сообщение slavcodev »

ты импортируешь только модели из app.modules.test.models.*
конечно приложения не известно о классе app.modules.test.TestModule.php

просто перед вызовом TestModule::ф-я сделай импорт
Yii::import(app.modules.test.TestModule.php);
производительности это не помешает, Yii не будет грузить файл дважды.
Жду Yii 3!

zibert02
Сообщения: 203
Зарегистрирован: 2010.11.24, 17:29

Re: странная загрузка модуля

Сообщение zibert02 »

я вызов TestModule::ф-я делаю в layout, кошерно ли вызов Yii::import делать там же? или может в инит контроллера сделать?

кстати выражение Yii::import(app.modules.test.TestModule.php); не сработало, пришлось подправить Yii::import(app.modules.test.TestModule); интересно почему?

Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: странная загрузка модуля

Сообщение mitaichik »

я вызов TestModule::ф-я делаю в layout, кошерно ли вызов Yii::import делать там же? или может в инит контроллера сделать?
Я бы вызывал Yii:import непосредственно перед вызовом функции.
кстати выражение Yii::import(app.modules.test.TestModule.php); не сработало, пришлось подправить Yii::import(app.modules.test.TestModule); интересно почему?
В Yii::import мы пишем не путь, а алиас. Кстати, можно импортировать так : Yii::import('test.TestModule'); ибо Yii автоматом создает алиасы для каждого модуля.

zibert02
Сообщения: 203
Зарегистрирован: 2010.11.24, 17:29

Re: странная загрузка модуля

Сообщение zibert02 »

mitaichik писал(а):
кстати выражение Yii::import(app.modules.test.TestModule.php); не сработало, пришлось подправить Yii::import(app.modules.test.TestModule); интересно почему?
В Yii::import мы пишем не путь, а алиас. Кстати, можно импортировать так : Yii::import('test.TestModule'); ибо Yii автоматом создает алиасы для каждого модуля.
т.е. в конфиге в разделе import тоже можно писать test.models.* вместо application.modules.test.models.* ?

Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: странная загрузка модуля

Сообщение slavcodev »

zibert02 писал(а):т.е. в конфиге в разделе import тоже можно писать test.models.* вместо application.modules.test.models.* ?
да
Жду Yii 3!

Ответить