IO v6. IOCore класс
Описание
IOCore - класс, служащий неким ядром фреймворка. Здесь находятся методы, организующие "общалку".
Переменные класса
defaultLayout
Layout view по умолчанию.
string $defaultLayout = ''
defaultController
Controller по умолчанию.
string $defaultController = 'app.controller.main'
layout
Текущий layout view.
string $layout = ''
skipController
Флаг, определяющий пропустить контроллер при анализе или нет.
int $skipController = 0
dictionary
Загруженный словарь фраз.
array $dictionary = []
languages
Поддерживаемые языки по умолчанию.
array $languages = [
'ru' => 'Русский',
]
langDefault
Язык по умолчанию.
string $langDefault = 'ru'
currentlanguage
Текущий язык.
string $currentlanguage = 'ru'
Методы класса
entityToFile()
Расшифровка файла по entity. Вспомогательная функция.
static entityToFile(
string $entity,
array $params = []
): array
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к файлу в формате entity. | Да | |
$params | array | Массив параметров. | Нет |
$params:
| Параметр | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
hasMethod | bool | ??? | false | Нет |
isAction | bool | ??? | false | Нет |
entityRemote()
Вспомогательная функция.
static entityRemote(
string $entity
): bool
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$entity | string | Путь к файлу в формате entity. | Да |
runController()
Вызывает метод указанного controller'а.
static runController(
string $entity,
string $end
): int(1)
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$entity | string | Путь к controller файлу в формате entity. | Да |
$end | string | ??? | Да |
ВНИМАНИЕ
На данный момент неизвестно где используется и для чего...
getAllControllers()
Метод возращает всевозможные контроллеры по uri. Вспомогательная функция.
- Сначала выводится
<controller>/<method>/<end>. - Затем выводится
<defaultController>/<method>/<end>. - Затем выводится
<path>/<controller>/<method>/<end>.
Используется в конструкции генерации URL для работы controller'ов (в методе IOCore::runAnalyze()).
static getAllControllers(
string $uri
): array
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$uri | string | URI строка. | Да |
Пример:
$uri = '...';
$arr = parse_url($uri);
$path = xarr($arr, 'path');
$controls = IOCore::getAllControllers($path);
runAnalyze()
static runAnalyze(
string $uri
): int(0|1)
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$uri | string | URI строка. | Да |
run()
Функция инициализации фреймворка и проекта. Вызывается в файле index.php проекта. Вспомогательная функция.
static run(
array $config
): void
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$config | array | URI строка. | Да |
$config:
| Параметр | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
defaultController | string | Controller проекта. | 'app.controller.main' | Нет |
defaultLayout | string | Layout view проекта. | 'app.view.layout.main' | Нет |
ltrimeuri | array | ??? | [] | Нет |
Пример:
$config = [
'defaultLayout' => 'io.view.layout.main',
'defaultController' => 'app.controller.cms',
'errorController' => 'app.controllers.error',
];
outGenPageTime('IOCore::run()');
IOCore::run($config);
render()
Отрисовка view файла в layout view controller'а с передачей в него указанных параметров.
static render(
string $view,
array|null $params = null
): void
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$view | string | Путь к view в формате entity. | Да | |
$params | array|null | Передаваемые параметры. | null | Нет |
Пример:
IOCore::render(
'app.view.example',
[
'hello' => 'world',
]
);
ВНИМАНИЕ
Не рекомендуется использовать. Используйте встроенный метод controller render().
loadDictionary()
Загрузка файла словаря фраз.
static loadDictionary(
string $path
): bool
| Аргумент функции | Тип | Описание | Обязательный |
|---|---|---|---|
$path | string | Путь к файлу словаря фраз. | Да |
Пример:
IOCore::loadDictionary(IO_PATH.'/app/dictionary/cms.json');
IOCore::loadDictionary(BASE_PATH.'/app/dictionary/trade.json');
translate()
Получение фразы из словаря фраз указанного либо текущего языка.
static translate(
string $mainname,
string|null $lang = null
): string
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$mainname | string | Apiname фразы из словаря фраз. | Да | |
$lang | string|null | Язык фразы. | null | Нет |
Пример:
$btnAdd = IOCore::translate('cms.main.btn.add');
{{ translate['cms.main.btn.add'] }}
getTranslate()
Возвращает массив загруженного словаря фраз. Вспомогательная функция.
Используется в методе IOCore::bildIOData().
static getTranslate(): array
bildIOData()
Метод генерации базового содержимого глобальной переменной $ioData. Используется в инициализации фреймворка.
static bildIOData(): void
renderPlain()
Отрисовка view файла без layout view controller'а с передачей в него указанных параметров.
static renderPlain(
string $view,
array|null $params = null
): void|null
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$view | string | Путь к view в формате entity. | Да | |
$params | array|null | Передаваемые параметры. | null | Нет |
Пример:
IOCore::renderPlain(
'app.view.example',
[
'hello' => 'world',
]
);
Instance()
Создание экземпляра указанного class.
static Instance(
string $entity,
int $fromio = 0
): object|null
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$view | string | Путь к class в формате entity. | Да | |
$fromio | int(0|1) | ??? | 0 | Нет |
Пример:
$c = IOCore::Instance('app.class.example');
load()
Подключение (include_once) указанного класса model / class / controller. Вспомогательная функция.
static load(
string $entity
): void
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к model / class / controller в формате entity. | Да |
Пример:
IOCore::load('app.class.example');
IOCore::load('app.model.example');
IOCore::load('app.controller.example');
signData()
Подписание отправляемых данных. Возвращает цифровую подпись для IOCore::call(). Вспомогательная функция.
static signData(
string $entity,
array $data,
string|int $time
): string
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к model / class / controller в формате entity. | Да | |
$data | array | ??? | Да | |
$time | string|int | Время (не понятно в каком формате). | Да |
checkClassMethodExists()
Проверяет наличие класса и метода на существование. Вспомогательная функция.
static checkClassMethodExists(
$file,
$namespace,
$class,
$method,
bool $check_rcp_rules = false
): int(EIO)
checkRCPRules()
Проверяет, можно ли выполнить class метод по rcp_rules(). Вспомогательная функция.
static checkRCPRules(
array $entity_arr
): int(EIO)
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity_arr | array | Массив параметров. | Нет |
$entity_arr:
| Параметр | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
namespace | string|null | ?? | null | Нет |
class | string|null | ??? | null | Нет |
method | string|null | ??? | null | Нет |
file | string|null | ??? | null | Нет |
http_build_query_for_curl()
Конвертирует многоуровневый массив. Вспомогательная функция.
https://stackoverflow.com/questions/3772096/posting-multidimensional-array-with-php-and-curl
static http_build_query_for_curl(
array $arrays,
array &$new = [],
string|null $prefix = null
): void
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$arrays | array | ??? | Да | |
$new | array | ??? | Нет | |
$prefix | string|null | ??? | Нет |
curlSendPost()
Отправка данных через curl. Вспомогательная функция.
static curlSendPost(
string $url,
array $arr,
$cookie = '',
bool $log_echo = false,
bool $pinba_enable = true
): array
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$url | string | URL строка. | Да | |
$arr | array | ??? | Да | |
$cookie | string | ??? | '' | Нет |
$log_echo | bool | Отображать лог. | false | Нет |
$pinba_enable | bool | Включить pinba. | true | Нет |
call()
Обращение к указанному class проекта с передачей указанных параметров.
static call(
string $entity,
array $params,
int $fromio = 0,
bool $log_echo = false
): object
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к class в формате entity. | Да | |
$params | array | Передаваемые параметры. | Да | |
$fromio | int | ??? | 0 | Нет |
$log_echo | bool | Отображать лог. | false | Нет |
Пример:
$r = IOCore::call(
'app.class.example.test',
[
'hello' => 'world',
]
);
callAction()
Обращение к указанному model проекта с передачей указанных параметров.
static callAction(
string $entity,
array $params,
int $fromentity = 0,
int $filesupload = 0,
bool $log_echo = false
): object
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к model в формате entity. | Да | |
$params | array | Передаваемые параметры. | Да | |
$fromentity | int | ??? | 0 | Нет |
$filesupload | int | ??? | 0 | Нет |
$log_echo | bool | Отображать лог. | false | Нет |
Пример:
$r = IOCore::callAction(
'app.model.example.test',
[
'hello' => 'world',
]
);
callActionQuiet()
Вспомогательная функция.
static callActionQuiet(
string $entity,
array $params,
mixed &$content,
int $fromentity = 0,
int $filesupload = 0
): object
| Аргумент функции | Тип | Описание | Значение по умолчанию | Обязательный |
|---|---|---|---|---|
$entity | string | Путь к model в формате entity. | Да | |
$params | array | Передаваемые параметры. | Да | |
$content | mixed | ??? | Да | |
$fromentity | int | ??? | 0 | Нет |
$filesupload | int | ??? | 0 | Нет |