2012-02-18 32 views
4

我不能讓它在我的控制器中工作。代碼是:CakePHP清理工具

App::import('Sanitize'); 
class MyController extends AppController 
{ 
     public $uses = array('Sanitize'); 
     function Foo() 
     { 
      // Fatal error: Class 'Sanitize' not found 
      $test = Sanitize::paranoid($data); 
      // Fatal error: Call to a member function paranoid() on a non-object 
      $test = $this->sanitize->paranoid($data); 
     } 
} 

我錯過了什麼?

+0

你使用哪種版本的CakePHP? – dhofstet 2012-02-18 16:18:34

+0

@dhofstet 2.0.5 – Ockonal 2012-02-18 16:26:29

回答

12

在CakePHP 2.x中導入核心文件已更改,這意味着您必須將App::import('Sanitize');更改爲App::uses('Sanitize', 'Utility');。同時刪除$uses聲明,它用於加載模型,並且Sanitize不是模型。

有了這些修改,您的片段看起來像:

App::uses('Sanitize', 'Utility'); 
class MyController extends AppController 
{ 
    function Foo() 
    { 
     $test = Sanitize::paranoid($data); 
    } 
} 
+0

謝謝,現在它工作。這很奇怪,我沒有在文檔中找到它。 – Ockonal 2012-02-18 17:11:05