2011-04-29 49 views
1

我有一個多域名網站。根據域名的不同,網站需要相應的行爲。CakePHP一個可以在任何地方使用的類?

我創建了一個名爲CompanyInfo幫助它的方法,如名()電話()電子郵件()

取決於你是什麼領域它返回正確的信息。

因此,例如,如果我需要顯示用戶撥打的電話號碼,我會使用$this->CompanyInfo->phone(),它將根據域顯示用戶的正確電話號碼。

好的,這一切都很好,但並不真正相關。真正的問題是,我需要的不僅僅是這個信息。幫手只是爲了觀點。如果我想從控制器訪問這些信息,我需要創建一個組件來完成它。

我真的不想讓助手和組件做同樣的事情。我寧願讓一個類處理它,而不是複製和粘貼邏輯。

那麼最好的方法是使用可以從控制器或視圖甚至模型訪問的方法來創建類?

回答

1

它只是這種靜態信息(名稱,電話號碼,電子郵件等),你需要顯示?爲什麼不把它們添加到core.php的配置中?

喜歡的東西

# in core.php 
Configuration::write('Company.name', 'Acme Corp.'); 
Configuration::write('Company.email', '[email protected]'); 

然後就可以得到這個信息你需要的地方使用

Configuration::read('Company.name'); 
0

您可以在您app_controller定義這個變量,然後在您的任何控制器方便地使用這些變量只從那裏設置這些變量。 在你的構造類中調用這個函數。 我認爲這將解決您的問題。

0

您可以從任何地方訪問模型類是這樣的: $companyInfoModel = ClassRegistry::init('CompanyInfo'); $phone = $companyInfoModel->phone();

0

一)你可以使用庫中cake1.3爲

B)的靜態模型的方法,你可以將內容傳遞給和這將返回預期值

echo Model::phone($data) 
相關問題