我在app_controller.php中有函数。函数如:
function globalSum($Var1,$Var2)
{
$Var3 = $Var1 + $Var2;
return $Var3;
}
现在我想从任何CTP文件访问此函数以获取sum之后的值。当我调用此函数时,将从ctp文件发送arments。 所以,任何人都可以告诉我如何用ctp文件中的参数调用这个函数??
提前致谢..
答案 0 :(得分:4)
你尝试这样做的方式可能不是最好的,因为它正在对抗CakePHP使用的MVC架构。
在MVC中,ctp文件是您的视图,并且应该尽可能地充当模板,视图中需要的任何值都应该从控制器传递给它。
您的问题有很多简单的解决方案。
一个只是在视图中添加:
index.ctp
<?php
echo $var1 + $var2
?>
对于这样一个简单的操作,为什么还要单独使用一个函数?
如果您的函数更复杂,可以将它放在AppController中,然后在操作所属的控制器中设置视图变量。例如:
app_controller.php
<?php
function globalSum($Var1,$Var2) {
$Var3 = $Var1 + $Var2;
return $Var3;
}
?>
posts_controller.php
<?php
function index() {
$this->set('var3', $this->globalSum($var1,$var2));
}
?>
index.ctp
<?php
echo $var3;
?>
希望有所帮助。