Загрузка пользовательских классов в CodeIgniter?

Просто начал использовать CodeIgniter, и я хотел бы импортировать некоторые из моих старых классов для использования в новом проекте. Тем не менее, я не хочу слишком сильно их модифицировать, чтобы вписываться в способ выполнения CI, и я хотел бы иметь возможность продолжать использовать функции автозаполнения NetBeans, что не очень хорошо работает с CI.

Итак, каков наилучший способ загрузки пользовательских классов и файлов классов в CodeIgniter без использования механизмов загрузки библиотеки / модели?

Я прошу прощения, если это то, что я могу найти быстро, но я не могу найти, что мне нужно. Все, что я вижу, просто говорит мне, как пройти через ДИ.

Я бы сказал, что вы хотя бы написали класс-оболочку, который мог бы require классов и создавать объекты и сделать их доступными. Тогда вы, вероятно, можете автозагрузить такую ​​библиотеку и использовать ее по мере необходимости.

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

Чтобы сделать это с помощью codeignign, поместите свои пользовательские классы в папку библиотек codeigniter. И затем используйте его, добавив этот класс как библиотеку в свой контроллер следующим образом:

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Someclass { public function some_function() { } } /* End of file Someclass.php */ 

использование в контроллере:

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

полная версия справки по адресу http://www.codeigniter.com/user_guide/general/creating_libraries.html

Библиотеки легко писать, но у них есть несколько ограничений. Конструкторы могут принимать только массив в качестве параметра, и предполагается, что для каждого файла будет существовать только один класс.

Вы можете включить любой из ваших собственных классов для работы с ними, как вы хотите, поскольку это только PHP forc 🙂

 include APPPATH . 'classes/foo.php'; $foo = new Foo; 

Или настройте функцию __autoload () в вашем config.php (лучшее место для нее), и вы можете иметь доступ к своим классам, не добавляя их.

Если вы только начинаете использовать CodeIgniter, возможно, вам стоит проверить Kohana (http://kohanaframework.org/). Он очень похож на CodeIgniter во многих отношениях, но он загружает классы обычным способом (используя новое ClassName ()), поэтому функции автозаполнения Netbeans должны работать нормально.