codeigniter - библиотека лучших практик со многими классами - PullRequest
12 голосов
/ 11 февраля 2011

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

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

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

Спасибо!

Ответы [ 3 ]

8 голосов
/ 11 февраля 2011

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

С драйвером вы фактически создаете подкаталог в своем каталоге «library», который содержит ваш «super» класс, и еще один каталог для «child» классов. Лучшее визуальное представление структуры ...

enter image description here

Это взято из Здесь .

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

4 голосов
/ 11 февраля 2011

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

1 голос
/ 03 декабря 2018

В 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, следовательно, класс с таким именем должен быть там .

...