Codeigniter - библиотека лучших практик со многими классами

Я создаю библиотеку для нашего приложения CodeIgniter, но для этого требуется много классов (в настоящее время мне 12).

Есть ли наилучшая практика для упаковки этих многих клиентов в одну библиотеку. Поэтому я могу просто позвонить, чтобы загрузить его. то есть:

$this->load->library('soaplibrary');

Спасибо!

Ответ 1

Как Лето указывает на, они довольно элегантно справились с этой ситуацией в CI 2.0 с концепцией Drivers.

С помощью Driver вы фактически создаете подкаталог в каталоге ваших библиотек, который содержит ваш класс "super", и другой каталог для "дочерних" классов. Лучшее визуальное представление структуры...

enter image description here

Это было взято из здесь.

и после того, как вы построили свою библиотеку, вот документация о том, как ее использовать.

Ответ 2

В CI 2.0 есть драйверы для обработки этой ситуации. Удачи!

Ответ 3

В CodeIgniter 3.1.9 при загрузке файла библиотеки все классы в этом файле включены в код.

Скажем, в soaplibrary.php у вас есть

class SoapLibrary {
   public function someMethod(...

class Test {
   public function anotherMethod(...

В контроллере вы можете:

$this->load->library('soaplibrary');

//now on you can do
$this->soaplibrary->someMethod();

//but also
$test = new Test();
$test->anotherMethod();

Имейте в виду, что CodeIgniter пытается вызвать конструктор класса SoapLibrary, поэтому класс с таким именем должен быть там.