0

我正在尝试在 CodeIgniter 中创建一个自定义用户库。在这个库中,我想使用其他 CodeIgniter 库和助手,但我遇到了错误。以下是我采取的步骤:

  1. 我在 User.php 文件中创建了 User 类并将其上传到应用程序/库/。

  2. 在 application/config/autoload.php 中,我正在自动加载用户库。

这是我的用户库中的代码:

<?php 

    class User {

    private $CI;

        public function __construct()
        {
            $this->CI =& get_instance();
            $this->CI->load->helper('form');
        }

        public function create_login_form()
        {
            echo 'hello';
            echo $this->CI->form->form_open();
        }

    }

/* End of file User.php */

然后在我的一个观点中,我用来调用 create_login_form 方法:

$this->user->create_login_form()

似乎正在调用该方法,因为正在回显 hello 但是当它使用表单帮助器form_open方法时,我收到以下错误:

遇到 PHP 错误 严重性:通知消息:未定义属性:Home::$form 文件名:libraries/User.php 行号:46

致命错误:在第 46 行的 .../application/libraries/User.php 中调用非对象的成员函数 form_open()

任何想法我做错了什么?

谢谢!

4

3 回答 3

1

助手提供功能而不是某些对象的方法。form_open()您可以在加载表单助手后直接使用。

于 2012-06-19T18:39:15.350 回答
1
class User {

    public function __construct()
    {
        $CI =& get_instance();
        $CI->load->helper('form');
    }

    public function create_login_form()
    {
        echo 'Title';
        echo form_open(); // Form open is helper. Not library
        echo 'Write something';
        echo form_close(); // Produces a closing </form> tag.
    }

}
于 2014-11-12T05:38:12.540 回答
1
class User {

    private $CI;

    public function __construct()
    {
        $this->CI =& get_instance();
        $this->CI->load->helper('form');
    }

    public function create_login_form()
    {
        echo 'Title';
        echo form_open(); // Form open is helper. Not library
        echo 'Write something';
        echo form_close(); // Produces a closing </form> tag.
    }

}
于 2012-06-19T18:50:22.347 回答