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