2011-09-21 52 views
0

我app_controller.php.The功能有功能訪問app_controller定義的函數是這樣的:如何從CTP

function globalSum($Var1,$Var2) 
    { 
     $Var3 = $Var1 + $Var2; 
     return $Var3; 
    } 

現在我想從任何CTP文件訪問該函數來獲取後的值sum.when我調用這個函數時,這些參數將從ctp文件發送。 那麼,任何人都可以告訴我如何使用ctp文件的參數來調用這個函數?

在此先感謝..

回答

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; 
?> 

希望有所幫助。