Не могу загрузить пользовательскую библиотеку в Codeigniter 3 на рабочем сервере

Я просмотрел все существующие вопросы по этой проблеме, но так и не нашел ответа. Я работаю над сервером CentOS 7.

Вот моя пользовательская библиотека, которую я помещаю в приложения/библиотеки.

Simas_Bridge.php

class Simas_Bridge
{
  private $CI;
  private $client;
  public function __construct()
  {
    $this->CI = &get_instance();
    $this->CI->load->helper(['file']);
    $this->client = new \GuzzleHttp\Client();
  }
  public function get_dokumen_drh($nip = null)
  {
     ///.... Some Code
  }
}

и я вызываю библиотеку из своего контроллера вот так

Форма.php

class Form extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->library('simas_bridge');
    }

    public function uploadFile(){
        $this->simas_bridge->get_dokumen_drh('xxxxxxx'); >>>> The Error happens here!!!
    }
}

Я попытался изменить способ вызова библиотеки на $this->load->library('Simas_Bridge') и вызвать метод с помощью $this->Simas_Bridge->get_dokumen_drh(). Попробуйте изменить разрешение на 750 для файла Simas_Bridge.php на сервере. Это все еще не работает. Всегда получайте эту ошибку

Unable to load the requested class: Simas_Bridge

Что может быть не так?

🤔 А знаете ли вы, что...
PHP широко используется для разработки систем управления контентом, таких как WordPress и Joomla.


50
1

Ответ:

Решено

Попробуйте следовать соглашению об именах, предложенному Codeigniter, в их документации они предлагают следующее:

  • Имена файлов должны быть написаны с заглавной буквы. Например: Myclass.php
  • Объявления классов должны быть написаны с заглавной буквы. Например: класс Myclass
  • Имена классов и имена файлов должны совпадать.

Итак, исходя из этого, вам следует сделать следующее:

  1. переименуйте ваш файл из Simas_Bridge.php в Simasbridge.php
  2. Изменение объявления класса на класс Simasbridge
  3. затем вызовите класс, используя $this->load->library('simasbridge');

для более подробной информации перейдите по этой ссылке Официальная документация Codeigniter 3