【问题标题】:CakePHP Component not workingCakePHP 组件不工作
【发布时间】:2011-03-11 15:25:22
【问题描述】:

大家好,我正在开发一个用于管理 alpha 用户列表的 cakephp 应用程序。这是一个简单的表单,接受姓名和电子邮件,然后在提交后生成一个字母代码,然后将该字母代码存储在“代码”列下的姓名和电子邮件的记录中。我正在使用一个名为 PasswordHelper 的组件,它位于 here

这是我的代码

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'));
         }
      }
    }
}

当我不包含字母代码行时,表单数据保存得很好,但是当我尝试生成密码时,我得到了这个错误。

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

这里发生了什么?我将 PasswordHelper 文件保存在相应的组件目录中,并将其添加到此控制器的组件数组中。

【问题讨论】:

    标签: cakephp components


    【解决方案1】:

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

    正如你现在所拥有的,它正在寻找它作为一个全局函数,它不存在并引发错误。

    【讨论】:

    • 这是唯一的问题!谢谢!
    • 更正:它正在寻找全局函数generatePassword,而不是本地方法。
    • @deceze,很好。我已根据您的更正更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2012-05-06
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多