【问题标题】:php - codeigniter - Undefined property loading form helperphp - codeigniter - 未定义的属性加载表单助手
【发布时间】:2013-08-30 07:49:38
【问题描述】:

我有以下代码来创建一个类,但是当带有他的 costructor 的类被加载时,我得到一个错误:

    Class DropDown {
        public function __construct() 
        {
            if ( ! function_exists('form'))
            {
(line 11)   $this->load->helper('form');
            }
        }

还有错误

A PHP Error was encountered

Severity: Notice

Message: Undefined property: DropDown::$load

Filename: helpers/dropdown_helper.php

Line Number: 11

提前谢谢大家

【问题讨论】:

    标签: php codeigniter load undefined helper


    【解决方案1】:

    DropDown 是什么?你必须扩展 CI_*,你不能使用 $this->load,你的类中没有这样的功能。

    或者使用 $CI = &get_instance();然后将 $this 替换为 $CI

    【讨论】:

      【解决方案2】:

      您必须将 CodeIgniter 对象分配给一个变量:

      $CI =& get_instance();
      $CI->load->helper('form');
      

      如果您不想使用$CI,可以继续使用$this

      只需将__get 方法添加到您的类中,您就可以使用$this->load 格式。

      public function __get($var)
      {
         return get_instance()->$var;
      }
      

      【讨论】:

        【解决方案3】:

        您可以像这样扩展 CI controller 而不是 Bora 的答案

        Class DropDown extends CI_Controller {
        
            public function __construct() 
            {
                if ( ! function_exists('form'))
                {
                     $this->load->helper('form');
                }
            }
        

        【讨论】:

          猜你喜欢
          • 2012-12-30
          • 1970-01-01
          • 2015-05-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多