如果您想要在操作之間共享代碼的某些部分,您可以創建一個自定義類,它將實現您需要的一些方法。您可以將課程放在應用程序或整個項目的lib
目錄中。
E.g.創建一個apps/frontend/lib/myUtil.class.php
class myUtil
{
public static function addNumbers($a, $b)
{
return $a + $b;
}
}
然後在你的行動,你可以只使用:
$sum = myUtil::addNumbers(2, 3);
如果你的代碼依賴於一些其他的對象,如果你不實現靜態方法,但創建的對象,最好類。例如。
class myUtil
{
protected $request;
public function __construct(sfWebRequest $request)
{
$this->request = $request;
}
public function sumFromRequest()
{
return $this->request->getParameter('a') + $this->request->getParameter('b');
}
}
然後在動作
public function executeSomething(sfWebRequest $request)
{
$util = new myUtil($request);
$this->sum = $util->sumFromRequest();
}
如果你的代碼是嚴格用於您可以創建自定義驗證可以在您的形式,然後用表單字段的驗證。 (這肯定是最好的解決方案)。您可以閱讀關於在Symfony文檔中創建自定義驗證器的信息。
嗨,這似乎是比我的任何一個更好的appoach。驗證方法不僅可以驗證,還可以處理事務,設置模板變量等,因此不適合表單。謝謝你的想法,讚賞。 – Tofuwarrior