2012-11-12 29 views
2

嘗試在Yii中使用模塊並希望從主控制器(SiteController)訪問模塊的方法。 使用Gii創建模塊,模塊名稱爲Car。 嘗試訪問RequestController,模塊Car中的方法搜索。Yii,在主控制器中使用模塊

echo Yii::app()->Car->Request->search(); 

而且Yii的會談我

屬性 「CWebApplication.carhire」 沒有定義。

有沒有人知道如何從另一個控制器訪問模塊的方法? 謝謝

回答

2

您的模塊不會進入應用程序範圍。即components,可通過Yii::app()->模塊訪問,但可通過Yii::app()->getModule($moduleName)->訪問。

雖然這並不能真正幫助在控制器上運行操作。沒有完全打破抽象模塊的觀點,也很難獲得訪問權限。

bool.dev的回答Here是我見過的最好的方法,如果你真的需要的話。

但是,您的問題很可能指向您的網站結構的根本問題。如果您需要訪問應用程序中其他位置的模塊控制器功能,也許它不應該放在模塊中?

+1

Yii意識形態模塊 - 是一個獨立的程序模塊,它具有視圖,控制器等。我想創建幾個不同模塊的站點。每個人都會做他們的工作,不會互相交流,只有主控制器站點必須調用每個模塊。 – moka

+1

爲什麼你需要從主控制器調用它們?只是好奇,因爲可能有不同的方式來解決你的問題。 – Paystey

+0

正如我上面解釋的,我想要構建多程序應用程序,並且每個模塊都必須是獨立的程序。每個模塊都會做他們的工作,不要互相交流。怎麼解釋你 - 我不知道。 – moka