Основной рабочий файл хака содержит класс, который отвечает за параметры конфигурации, загрузку модулей и библиотек, подключение шаблонов, стилей и скриптов. Класс может быть расширен любыми дополнительными функциями.
Встроенные функции класса
Обращение к методам и полям класса производится вызовом:
$core->hack->hackname->funcname()
Вместо hackname
указывается название класса, вместо funcname
- соответствующая функция или поле.
$core->hack->(name)->conf[$field]
Массив с конфигурацией хака, используйте только для чтения.
$core->hack->(name)->conf( $field, $val = null )
Возвращает или изменяет конфигурацию хака в зависимости от параметров:
- При вызове без параметров, возвращает весь массив конфигурации целиком.
- При вызове с одним параметром
$field
- возвращает значение конкретного поля. - При вызове с параметрами
$field
и$val
, присваивает полю$field
значение$val
.
$core->hack->(name)->(library)
Загружает и возвращает соответствующую библиотеку хака. Загрузка и инициализация библиотеки происходит один раз. Пример использования:
$core->hack->proxy->checker->run( 123 );
$core->hach->(name)->mod( $name, $func = false )
Загружает модуль с названием $name
. Если передано название функции $func
, сразу же исполняет указанную функцию. Удобно для реализации роутинга.
$core->hack->(name)->tpl( $part, $name )
Загружает для раздела $part
шаблон с названием $name
из папки шаблонов. Расширение .tpl не указывается.
$core->hack->(name)->css( $name )
Подключает CSS-файл с названием $name
из папки стилей. Расширение .css не указывается.
$core->hack->(name)->js( $name )
Подключает JS-файл с названием $name
из папки скриптов. Расширение .js не указывается.
Синтаксис основного файла
Файл main.php
отвечает за расширение основного класса хака. Он должен содержать класс с названием hack_name
, где вместо name
будет название хака. Класс должен наследоваться от thehack
. Например:
class hack_proxy extends thehack { … }
Не переопределяйте встроенные конструктор и деструктор класса, они отвечают за работу внутренних функций. В качестве конструктора используйте функцию init
, в качестве деструктора - stop
. Обе функции не имеют параметров. Например:
class hack_proxy extends thehack { public function init() { // Функционал конструктора } public function stop() { // Функционал деструктора } }
Если вы не планируете расширять основной класс хака и использовать только встроенные функции, файл main.php
можно удалить из папки вручную.