我有一个多域名网站。视网站需要相应的行为而定。
我创建了一个名为CompanyInfo
的帮助程序,它包含 name(), phone(), email()等方法等等。
根据您所在的域名,它会返回正确的信息。
因此,例如,如果我需要显示用户呼叫的电话号码,我将使用$this->CompanyInfo->phone()
,它将根据域显示用户的正确电话号码。
好的,这一切都很好,但不是真的相关。真正的问题是,我需要的不仅仅是视图中的信息。帮助者只是为了观看。如果我想从控制器访问这些信息,我需要创建一个组件来完成它。
我真的不想让Helper和Component做同样的事情。我宁愿让一个类处理它而不是复制和粘贴逻辑。
那么最好的方法是让一个类具有可以从控制器或视图甚至模型访问的方法?
答案 0 :(得分:1)
您需要显示的是这种静态信息(姓名,电话号码,电子邮件等)吗?为什么不在core.php
?
像
这样的东西# in core.php
Configuration::write('Company.name', 'Acme Corp.');
Configuration::write('Company.email', 'joe@acme.com');
然后,您可以使用
在任何需要的地方获取此信息Configuration::read('Company.name');
答案 1 :(得分:0)
您可以在app_controller中定义此变量,然后在您的任何控制器中轻松使用这些变量,仅从那里设置这些变量。 在构造类中调用此函数。 我认为这将解决你的问题。
答案 2 :(得分:0)
您可以通过以下方式从任何地方访问模型类:
$companyInfoModel = ClassRegistry::init('CompanyInfo');
$phone = $companyInfoModel->phone();
答案 3 :(得分:0)
a)你可以在cake1.3中使用libs
b)静态模型方法,您可以将内容传递给它并返回预期值
echo Model::phone($data)