在一个cakephp网站中,我得到了以下模型
- 项目
- <
- 类别/gh><
- 主题/gh>等
在项目/项目上,我想展示一个捐赠表格。例如产品/项目/?id = 1234
<h1>item name</h1>
<p>item description</p>
<br />
<p>Would you like to make a donation?</p>
<form method="post" action="???">
<input type="text" name="ccNumer" />
<input type="text" name="ccExpiry" />
<input type="text" name="ccName" />
<input type="submit">
</form>
由于donations
与items
没有关系,也可以在categories
或其他任何地方使用,我不确定如何以正确的方式做到这一点。它应该是一个组件吗?
我不知道你使用的是哪个版本的cakePHP,所以我假设cakePHP 2。您可以在任何类中加载任何其他类,就像在普通PHP中一样。要包含另一个模型,您可以执行以下操作
App::uses('Donation', 'Model'); // first parameter being your ModelName and second the path
现在你可以通过实例化一个对象来使用模型的方法。
$donationObj = new Donation();
$donationObj->methodName();
更多信息请参阅官方文档。
http://book.cakephp.org/2.0/en/core-utility-libraries/app.html
要在应用程序中的任何地方轻松访问模型,请使用ClassRegistry::init()
。(见:ClassRegistry)。ClassRegistry::init()
将初始化准备使用的模型。
例如,访问一个模型的方法;
$result = ClassRegistry::init('Donation')->methodName();
或者获取一个Model的实例;
$MyModel = ClassRegistry::init('Donation');
$result = $MyModel->methodName();
$resultB = $MyModel->anotherMethod();
添加App::uses(...)
甚至不需要,ClassRegistry应该照顾它。