CodeIgniter, руководство пользователя к версии 1.6.1


Класс Loader

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

Замечание: Этот класс инициализируется системой автоматически, поэтому нет нужды делать это самому.

Имеются следующие функции:

$this->load->library('имя_класса')

Эта функция используется для загрузки основных классов, где имя_класса — имя класса, который вы желаете загрузить. Замечание: Используемые нами термины «класс» и «библиотека» взаимозаменяемы.

Например, если вам надо будет отсылать письма из CodeIgniter, первым шагом будет загрузка класса email в контроллер:

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

Будучи однажды загруженной, библиотека становится пригодной для работы с использованием $this->email->любая_функция(). Каждая библиотека подробно описывается на специально посвященной ей странице, поэтому черпайте полную информацию по конкретным вопросам именно там.

Аргументы могут быть переданы в библиотеку в виде массива (второй аргумент).

$this->load->view('имя_файла', $data, true/false)

Эта функция используется для загрузки файлов отображений. Если Вы еще не познакомились с разделом отображений руководства пользователя, то рекомендуем сделать это, поскольку там рассказано о типичном применении этой функции.

Первый аргумент обязателен. Это имя файла-отображения, который надо загрузить.  Замечание: Расширение .php, в отличие от остальных, можно не указывать. Если загружаемый файл не .php, то расширение необходимо указывать.

Вторым необязательным аргументом является либо ассоциативный массив, либо вводимый объект, который пропускается через функцию PHP extract для извлечения и превращения в переменные, которые могут использоваться вашим отображением. Снова отсылаем вас к странице с описанием отображений для объяснения того, когда это может оказаться полезным.

Третий необязательный аргумент позволяет изменить поведение функции так, чтобы она возвращала данные в виде строки, а не отправляла их в браузер. Это может оказаться полезным тогда, когда Вам надо каким-либо образом поработать с этими данными. Если аргумент указан как true (boolean), функция возвратит данные. Значением по умолчанию является false, и тогда данные попадают в браузер. Таким образом, помните, что указать аргумент необходимо, если нужен возврат, а не вывод данных:

$string = $this->load->view('myfile', '', true);

$this->load->database('варианты', true/false)

Эта функция позволяет загрузить класс базы данных. Оба аргумента необязательны. Обращайтесь к разделу «Класс работы с базами данных» за более полной информацией.

$this->load->scaffolding('имя _таблицы')

Эта функция включает скаффолдинг.

$this->load->vars($array)

Эта функция принимает ассоциативный массив и создает из него переменные, используя функцию PHP extract. Эта функция дает тот же результат, что и использование второго аргумента в функции $this->load->view(), которая описана выше. Причина, по которой данная функция может понадобиться отдельно, может возникнуть тогда, когда вы захотите, например, установить какие-то глобальные переменные в конструкторе контроллера и сделать их доступными в любом файле отображения, загружаемом какой-либо фунцией. Вызывать данную функцию можно неоднократно. Данные в этом случае будут кэшированы и помещены в единый массив для дальнейшего конвертирования в переменные.

$this->load->helper('имя_файла')

Эта функция загружает файл хелпера, где имя_файла является частью имени файла без _helper.php.

$this->load->plugin('имя_файла')

Эта функция загрузит файлы плагинов, где имя_файла является частью имени файла без _plugin.php.

$this->load->file('путь/файл', true/false)

Это основная функция загрузки файлов. При наличии указанного пути к файлу (первый аргумент), функция откроет и прочитает этот файл. По умолчанию данные посылаются в браузер, как из файла отображения, но если указать второй аргумент как true (boolean), данные будут возвращены в строковом виде.

$this->load->lang('имя_файла')

Эта функция является синонимом функции загрузки языка: $this->lang->load()

$this->load->config('имя_файла')

Эта функция является синонимом функции загрузки конфигурационного файла: $this->config->load()