首页 文章

CodeIgniter的自定义库中的CI实例

提问于
浏览
0

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

  • 我在User.php文件中创建了User类并将其上传到applications / libraries / .

  • 内部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致命错误:在...中的非对象上调用成员函数form_open()第46行的/application/libraries/User.php

我有什么想法我做错了吗?

谢谢!

3 回答

  • 2

    助手提供功能而不是某些对象的方法 . 您可以在加载Form帮助程序后直接使用 form_open() .

  • 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.
        }
    
    }
    
  • 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.
        }
    
    }
    

相关问题