CakePHP组件不工作

CakePHP组件不工作,cakephp,components,Cakephp,Components,嘿,伙计们,我正在开发一个cakephp应用程序,它管理一个alpha用户列表。这是一个简单的表单,它接受一个名称和电子邮件,然后在提交后生成一个alpha代码,该alpha代码将与名称和电子邮件一起存储在记录中的“code”列下 这是我的密码 class AlphaUsersController extends AppController { var $name = 'AlphaUsers'; var $components = array('PasswordHelper');

嘿,伙计们,我正在开发一个cakephp应用程序,它管理一个alpha用户列表。这是一个简单的表单,它接受一个名称和电子邮件,然后在提交后生成一个alpha代码,该alpha代码将与名称和电子邮件一起存储在记录中的“code”列下

这是我的密码

class AlphaUsersController extends AppController {
    var $name = 'AlphaUsers';
    var $components = array('PasswordHelper');

    function add() {
      if(!empty($this->data)) {
         if($this->AlphaUser->save($this->data)){
             $this->AlphaUser->set('code', generatePassword(10));
             $this->AlphaUser->save();
             $this->Session->setFlash('User has been added.');
             $this->redirect(array('action' => 'index'));
         }
      }
    }
}
当我不包含alpha代码行时,表单数据保存得很好,但是当我尝试生成密码时,我得到了这个错误

致命错误:在第22行的/Users/Warren/Sites/caroverload/app/controllers/alpha_Users_controller.php中调用未定义的函数generatepassword()


这是怎么回事?我将PasswordHelper文件保存在适当的组件目录中,并将其添加到此控制器的组件数组中。

我认为调用
PasswordHelper
方法的方式应该更像这样:
$this->PasswordHelper->generatePassword(10)


正如您现在看到的,它正在寻找一个全局函数,它不存在并抛出错误。

这是唯一的问题!谢谢更正:它正在寻找一个全局函数
generatePassword
,而不是一个本地方法。@deceze,捕捉得好。我已根据您的更正更新了答案。