Глобальные функции и константы
CodeIgniter предоставляет несколько функций и переменных, которые глобально определены и доступны в любой момент. Для их использования не требуется загружать дополнительные библиотеки или хелперы.
Глобальные функции
Доступ к службам
-
cache([$key]) -
Параметры: - $key (string) – Имя кешируемого элемента для извлечения из кэша (необязательно)
Возвращает: Объект кэша или элемент, извлечённый из кэша
Тип возвращаемого значения: mixed
Если $key не указан, возвращается экземпляр движка кэша. Если $key указан, возвращается значение $key, хранящееся в кэше в данный момент, или null, если значение не найдено.
Примеры:
$foo = cache('foo'); $cache = cache();
-
Параметры: - $name (string) – Имя куки
- $value (string) – Значение куки
- $options (array) – Параметры куки
Тип возвращаемого значения: CookieВозвращает: Экземпляр
CookieИсключения: CookieExceptionПроще создавать новый экземпляр куки.
-
Параметры: -
$cookies (array) – Если
getGlobalfalse, это передаётся в конструкторCookieStore. -
$getGlobal (bool) – Если
false, создаёт новый экземплярCookieStore.
Тип возвращаемого значения: CookieStoreВозвращает: Экземпляр
CookieStore, сохранённый в текущемResponse, или новый экземплярCookieStore.Возвращает глобальный экземпляр
CookieStore, хранящийся вResponse. -
$cookies (array) – Если
-
env($key[, $default = null]) -
Параметры: - $key (string) – Имя переменной окружения для извлечения
- $default (mixed) – Значение по умолчанию, возвращаемое, если значение не найдено.
Возвращает: Переменная окружения, значение по умолчанию или null.
Тип возвращаемого значения: mixed
Используется для извлечения значений, ранее заданных в среде, или возвращает значение по умолчанию, если оно не найдено. Преобразует булевы значения в настоящие булевы значения вместо строковых представлений.
Особо полезно в сочетании с файлами .env для задания значений, специфичных для среды, таких как настройки базы данных, API-ключи и т. д.
-
esc($data[, $context = 'html'[, $encoding]]) -
Параметры: - $data (string|array) – Информация, которая должна быть экранирована.
- $context (string) – Контекст экранирования. По умолчанию «html».
- $encoding (string) – Кодировка символов строки.
Возвращает: Экранированные данные.
Тип возвращаемого значения: mixed
Экранирует данные для включения в веб-страницы, чтобы предотвратить атаки XSS. Использует библиотеку Laminas Escaper для обработки фактического фильтра данных.
Если $data — строка, она просто экранируется и возвращается. Если $data — массив, он перебирает его, экранируя каждое «значение» пар ключ/значение.
Допустимые значения контекста: html, js, css, url, attr, raw, null
-
helper($filename) -
Параметры: - $filename (string|array) – Имя файла хелпера для загрузки или массив имён.
Загружает файл хелпера.
Полные подробности см. на странице Функции хелпера.
-
lang($line[, $args[, $locale]]) -
Параметры: - $line (string) – Строка текста для получения
- $args (array) – Массив данных для подстановки в占位符。
- $locale (string) – Укажите другой локаль для использования вместо стандартной.
Получает языковой файл, основанный на псевдониме строки.
Дополнительную информацию см. на странице Локализация.
-
model($name[, $getShared = true[, &$conn = null]]) -
Параметры: - $name (string) –
- $getShared (boolean) –
- $conn (ConnectionInterface|null) –
Возвращает: Более простой способ получения экземпляров моделей
Тип возвращаемого значения: mixed
-
old($key[, $default = null[, $escape = 'html']]) -
Параметры: - $key (string) – Имя старых данных формы для проверки.
- $default (mixed) – Значение по умолчанию, возвращаемое, если $key не существует.
- $escape (mixed) – Контекст экранирования или false для его отключения.
Возвращает: Значение заданного ключа или значение по умолчанию.
Тип возвращаемого значения: mixed
Предоставляет простой способ доступа к «старым данным ввода» после отправки формы.
Пример:
// in controller, checking form submittal if (! $model->save($user)) { // 'withInput' is what specifies "old data" // should be saved. return redirect()->back()->withInput(); } // In the view <input type="email" name="email" value="<?= old('email') ?>"> // Or with arrays <input type="email" name="user[email]" value="<?= old('user.email') ?>">
Примечание
Если вы используете хелпер для форм, эта функция встроена. Вам нужно использовать эту функцию только в случае, если не используете хелпер для форм.
-
session([$key]) -
Параметры: - $key (string) – Имя элемента сессии для проверки.
Возвращает: Экземпляр объекта сессии, если $key не указан, значение, найденное в сессии для $key, или null.
Тип возвращаемого значения: mixed
Предоставляет удобный способ доступа к классу сессии и извлечения сохранённого значения. Дополнительную информацию см. на странице Сессии.
-
timer([$name]) -
Параметры: - $name (string) – Имя точки отсчёта.
Возвращает: Экземпляр таймера
Тип возвращаемого значения: CodeIgniterDebugTimer
Удобный метод для быстрого доступа к классу таймера. Вы можете передать имя точки отсчёта в качестве единственного параметра. Это начнёт отсчёт времени с этой точки или остановит отсчёт, если таймер с этим именем уже запущен.
Пример:
// Get an instance $timer = timer(); // Set timer start and stop points timer('controller_loading'); // Will start the timer . . . timer('controller_loading'); // Will stop the running timer
-
view($name[, $data[, $options]]) -
Параметры: - $name (string) – Имя файла для загрузки
- $data (array) – Массив пар ключ/значение, доступные внутри представления.
- $options (array) – Массив параметров, которые будут переданы классу отрисовки.
Возвращает: Выходные данные из представления.
Тип возвращаемого значения: string
Получает текущий совместимый с RendererInterface класс и говорит ему отобразить указанное представление. Просто предоставляет удобный метод, который можно использовать в контроллерах, библиотеках и маршрутизированных замыканиях.
В настоящее время доступен только один параметр для использования в массиве
$options,saveDataкоторый определяет, что данные будут сохраняться между несколькими вызовамиview()в рамках одного запроса. По умолчанию данные для этого представления забываются после отображения одного файла представления.Массив $options предоставляется в основном для облегчения интеграции сторонних библиотек, таких как Twig.
Пример:
$data = ['user' => $user]; echo view('user_profile', $data);Для получения более подробной информации см. страницу Представления.
-
view_cell($library[, $params = null[, $ttl = 0[, $cacheName = null]]]) -
Параметры: - $library (string) –
- $params (null) –
- $ttl (integer) –
- $cacheName (string|null) –
Возвращает: Ячейки представления используются внутри представлений для вставки фрагментов HTML, которые управляются другими классами.
Тип возвращаемого значения: string
Для получения более подробной информации см. страницу Ячейки представлений.
Дополнительные функции
-
app_timezone() -
Возвращает: Часовой пояс, который был установлен для отображения дат в приложении. Тип возвращаемого значения: string Возвращает часовой пояс, который был установлен для отображения дат в приложении.
-
csrf_token() -
Возвращает: Имя текущего CSRF-токена. Тип возвращаемого значения: string Возвращает имя текущего CSRF-токена.
-
csrf_header() -
Возвращает: Имя заголовка для текущего CSRF-токена. Тип возвращаемого значения: string Имя заголовка для текущего CSRF-токена.
-
csrf_hash() -
Возвращает: Текущее значение хэша CSRF. Тип возвращаемого значения: string Возвращает текущее значение хэша CSRF.
-
csrf_field() -
Возвращает: Строка с HTML для скрытого поля ввода со всей необходимой информацией CSRF. Тип возвращаемого значения: string Возвращает скрытое поле ввода с уже вставленной информацией CSRF:
<input type="hidden" name="{csrf_token}" value="{csrf_hash}">
-
csrf_meta() -
Возвращает: Строка с HTML для тега meta со всей необходимой информацией CSRF. Тип возвращаемого значения: string Возвращает тег meta с уже вставленной информацией CSRF:
<meta name="{csrf_header}" content="{csrf_hash}">
-
force_https($duration = 31536000[, $request = null[, $response = null]]) -
Параметры: - $duration (int) – Количество секунд, в течение которого браузеры должны преобразовывать ссылки на этот ресурс в HTTPS.
- $request (RequestInterface) – Экземпляр текущего объекта запроса.
- $response (ResponseInterface) – Экземпляр текущего объекта ответа.
Проверяет, доступ к странице осуществляется через HTTPS. Если да, то ничего не происходит. Если нет, то пользователь перенаправляется обратно на текущий URI, но через HTTPS. Установит заголовок HTTP Strict Transport Security, который инструктирует современные браузеры автоматически изменять все HTTP-запросы на HTTPS-запросы на срок $duration.
-
function_usable($function_name) -
Параметры: - $function_name (string) – Функция, которую нужно проверить
Возвращает: true, если функция существует и безопасно вызывается, false в противном случае.
Тип возвращаемого значения: bool
-
is_cli() -
Возвращает: true, если сценарий выполняется из командной строки, или false в противном случае. Тип возвращаемого значения: bool
-
is_really_writable($file) -
Параметры: - $file (string) – Имя файла, который проверяется.
Возвращает: true, если можно записать в файл, false в противном случае.
Тип возвращаемого значения: bool
-
log_message($level, $message[, $context]) -
Параметры: - $level (string) – Уровень серьезности
- $message (string) – Сообщение, которое должно быть записано в журнал.
- $context (array) – Ассоциативный массив тегов и их значений, которые должны быть заменены в $message
Возвращает: true, если запись в журнал прошла успешно, или false, если возникла проблема с записью в журнал
Тип возвращаемого значения: bool
Записывает сообщение с использованием обработчиков журнала, определенных в app/Config/Logger.php.
Уровень может быть одним из следующих значений: emergency, alert, critical, error, warning, notice, info или debug.
Контекст может использоваться для замены значений в строке сообщения. Для получения полной информации см. страницу Информация о ведении журнала.
-
redirect(string $route) -
Параметры: - $route (string) – Маршрут для перенаправления пользователя.
Возвращает экземпляр RedirectResponse, позволяющий легко создавать перенаправления:
// Go back to the previous page return redirect()->back(); // Go to specific UI return redirect()->to('/admin'); // Go to a named/reverse-routed URI return redirect()->route('named_route'); // Keep the old input values upon redirect so they can be used by the `old()` function return redirect()->back()->withInput(); // Set a flash message return redirect()->back()->with('foo', 'message'); // Copies all cookies from global response instance return redirect()->back()->withCookies(); // Copies all headers from the global response instance return redirect()->back()->withHeaders();При передаче аргумента в функцию, он обрабатывается как именованный/обратный маршрут, а не как относительный/полный URI, обрабатывая его так же, как при использовании redirect()->route():
// Go to a named/reverse-routed URI return redirect('named_route');
-
remove_invisible_characters($str[, $urlEncoded = true]) -
Параметры: - $str (string) – Исходная строка
- $urlEncoded (bool) – Удалять ли URL-кодированные символы также
Возвращает: Обработанная строка
Тип возвращаемого значения: string
Эта функция предотвращает вставку нулевых символов между ASCII-символами, таких как Java\0script.
Пример:
remove_invisible_characters('Java\\0script'); // Returns: 'Javascript'
-
route_to($method[, ...$params]) -
Параметры: - $method (string) – Псевдоним названного маршрута или имя контроллера/метода для сопоставления.
- $params (mixed) – Один или несколько параметров, которые должны быть переданы для сопоставления в маршруте.
Генерирует URI, относительный к доменному имени (а не baseUrl), на основе псевдонима названного маршрута или комбинации контроллер::метод. Будет учитывать параметры, если они предоставлены.
Для получения подробной информации см. страницу Маршрутизация URI.
-
service($name[, ...$params]) -
Параметры: - $name (string) – Название службы для загрузки
- $params (mixed) – Один или несколько параметров для передачи методу службы.
Возвращает: Экземпляр класса службы, указанного.
Тип возвращаемого значения: смешанный
Обеспечивает легкий доступ к любой из определенных в системе служб. Это всегда возвращает общий экземпляр класса, поэтому независимо от того, сколько раз это вызывается во время одного запроса, будет создан только один экземпляр класса.
Пример:
$logger = service('logger'); $renderer = service('renderer', APPPATH.'views/');
-
single_service($name[, ...$params]) -
Параметры: - $name (string) – Название службы для загрузки
- $params (mixed) – Один или несколько параметров для передачи методу службы.
Возвращает: Экземпляр класса службы, указанного.
Тип возвращаемого значения: смешанный
Идентично функции service(), описанной выше, за исключением того, что все вызовы этой функции будут возвращать новый экземпляр класса, где service возвращает один и тот же экземпляр каждый раз.
-
slash_item($item) -
Параметры: - $item (string) – Имя элемента конфигурации
Возвращает: Элемент конфигурации или null, если элемент не существует
Тип возвращаемого значения: строка|null
Получение элемента конфигурации файла с добавленным слешем (если он не пустой)
-
stringify_attributes($attributes[, $js]) -
Параметры: - $attributes (mixed) – строка, массив пар ключ-значение или объект
- $js (boolean) – true, если значения не нуждаются в кавычках (стиль Javascript)
Возвращает: Строка, содержащая пары атрибутов ключ/значение, разделенные запятыми
Тип возвращаемого значения: строка
Вспомогательная функция, используемая для преобразования строки, массива или объекта атрибутов в строку.
Глобальные константы
Следующие константы всегда доступны в любом месте вашего приложения.
Основные константы
-
constant APPPATH -
Путь к каталогу app.
-
constant ROOTPATH -
Путь к корневому каталогу проекта. Непосредственно над
APPPATH.
-
constant SYSTEMPATH -
Путь к каталогу system.
-
constant FCPATH -
Путь к каталогу, содержащему фронт-контроллер.
-
constant WRITEPATH -
Путь к каталогу writable.
Временные константы
-
constant SECOND -
Равно 1.
-
constant MINUTE -
Равно 60.
-
constant HOUR -
Равно 3600.
-
constant DAY -
Равно 86400.
-
constant WEEK -
Равно 604800.
-
constant MONTH -
Равно 2592000.
-
constant YEAR -
Равно 31536000.
-
constant DECADE -
Равно 315360000.
© 2014–2020 British Columbia Institute of Technology
Licensed under the MIT License.
https://codeigniter.com/user_guide/general/common_functions.html