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


Создание классов ядра

При каждом запуске CodeIgniter запускается несколько его базовых классов, которые инициализируются автоматически при загрузке системы. Это части ядра фреймворка. Хотя вы можете заменить любой из системных классов или просто расширить их.

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

Замечание:  Смешение ваших наработок со скриптами ядра, как правило, имеет множество последствий, так что подумайте дважды перед тем как сделаете это.

Перечень системных классов

Вот перечень основных системных файлов, которые вызываются при инициализации CodeIgniter:

Замена классов ядра

Для использования ваших скриптов вместо скриптов по умолчанию просто разместите их в вашей папке application/libraries:

application/libraries/some-class.php

Если такой папки нет — создайте ее.

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

Пожалуйста учтите, что ваш класс должен использовать CI в качестве префикса. Например, если ваш файл назван Input.php, то класс должен объявляться так:

class CI_Input {

}

Расширение классов ядра

Если вам надо расширить функциональность библиотеки, возможно добавить одну-две функции, то вам стоит не переопределять всю библиотеку, а просто расширить ее функциональность. Расширение класса практически идентично его замене за парой исключений:

Например, чтобы расширить родной класс Input, вы должны создать файл application/libraries/MY_Input.php и объявить внутри класс:

class MY_Input extends CI_Input {

}

Замечание: Если вам в классе необходим конструктор — не забудьте в нем вызвать конструктор родителя:

class MY_Input extends CI_Input {

    function My_Input()
    {
        parent::CI_Input();
    }
}

Подсказка:  Любая функция в вашем классе, название которой аналогично функции в родительском классе будет использоваться вместо родной (это называется «метод переопределения»). Это позволяет существенно менять ядро CodeIgniter'а.

Установка собственного префикса

Для установки собственного префикса откройте файл application/config/config.php и найдите там:

$config['subclass_prefix'] = 'MY_';

Пожалуйста заметьте, что CodeIgniter использует префикс CI_, поэтому вам НЕЛЬЗЯ его использовать.