无法加载笨定制库(Can't Load Codeigniter Custom Library

2019-11-01 13:27发布

图书馆

class getLang {
   public function getText($en, $ar) {
      $CI =& get_instance();
      $lang = $CI->session->userdata('language');
      if ($lang == 'en') {
         $string = $en;
      } else if ($lang == 'ar') {
         if (!empty($ar)) {
            $string = $ar;   
         } else if (empty ($ar)) {
            $string = $en;
         }
      }
      return $string;
   }
}

调节器

class Home extends MY_Controller {
   public function test() {
      $this->load->library('getLang');
      return $this->getLang->getText('text', '');
   }
}

当我跑回家/测试,我得到这个错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Home::$getLang

Filename: controllers/home.php

Line Number: 6

我已加载的自定义库中的config /自动加载。 貌似没有加载库,我也试过在控制器中加载它,还是好好尝试的工作! 我该如何解决这个问题?

Answer 1:

CodeIgniter的文件明确指出,类名和文件名必须是大写。 从文档 :

  1. 文件名必须大写。 例如:Myclass.php
  2. 类声明必须大写。 例如:类MYCLASS
  3. 类名和文件名必须匹配。

这可能是为什么它不正确。

在一个侧面说明,一个名为类getLang听起来是错误的。 这听起来像一个方法。 我建议一个名称,如LanguageTranslator ,...

编辑:该文档还要求使用该名称的小写版本访问磁带库。 例如: $this->getlang->getText(...)



文章来源: Can't Load Codeigniter Custom Library
标签: codeigniter