Php 在哪里以Cakely的方式放置一些视图代码
大家好,谢谢回答 如果我想从视图中删除一些代码以简化它,正确的方法是什么 我在Elements/model/some_code.ctp中创建了一个元素,并从view.ctp调用它,但我的同事建议我在view/Controller/some_code.php中创建一个文件,并在view.ctp文件中使用include调用它。 我创建的元素没有复制到应用程序的其他部分,我只在这里移动代码以简化view.ctp文件的可读性 对吗 谢谢大家;) 更好地解释:Php 在哪里以Cakely的方式放置一些视图代码,php,cakephp,Php,Cakephp,大家好,谢谢回答 如果我想从视图中删除一些代码以简化它,正确的方法是什么 我在Elements/model/some_code.ctp中创建了一个元素,并从view.ctp调用它,但我的同事建议我在view/Controller/some_code.php中创建一个文件,并在view.ctp文件中使用include调用它。 我创建的元素没有复制到应用程序的其他部分,我只在这里移动代码以简化view.ctp文件的可读性 对吗 谢谢大家;) 更好地解释: //index.ctp [..some co
//index.ctp
[..some code..]
echo $this->element('box');
[..some code..]
//Element/box.ctp
<?php if (isset($n)) { ?>
<div class="row">
<?php
echo $this->BoxStat->drawBox('Title', $n[1], 'green', array(
array('name' => 'Tot', 'link' => "/model/action", 'color' => '', 'number' => $n[2]),
array('name' => 'Free', 'link' => "/model/action", 'color' => 'green', 'number' => $n[3]),
array('name' => 'Full', 'link' => "/model/action", 'color' => 'grey', 'number' => $n[4]),
));
[..repeat..]
?>
</div>
<?php } ?>
//index.ctp
[…一些代码]
echo$this->element('box');
[…一些代码]
//Element/box.ctp
我认为,实现这一点的最佳方法是使用元素,原因有很多:
- 可以轻松地缓存元素
- 通过使用元素,可以选择要发送的变量或覆盖当前视图变量的值
- 元素并不像include()或require()在视图中那样共享变量作用域