Spec-Zone.ru › CodeIgniter 4

Глобальные функции и константы

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

  • Глобальные функции
    • Доступ к службам
    • Разнообразные функции
  • Глобальные константы
    • Основные константы
    • Константы времени

Глобальные функции

Доступ к службам

cache([$key])
Параметры:
  • $key (string) – Имя кешируемого элемента для извлечения из кэша (необязательно)
Возвращает:

Объект кэша или элемент, извлечённый из кэша

Тип возвращаемого значения:

mixed

Если $key не указан, возвращается экземпляр движка кэша. Если $key указан, возвращается значение $key, хранящееся в кэше в данный момент, или null, если значение не найдено.

Примеры:

$foo = cache('foo');
$cache = cache();
cookie(string $name[, string $value = ''[, array $options = []]])
Параметры:
  • $name (string) – Имя куки
  • $value (string) – Значение куки
  • $options (array) – Параметры куки
Тип возвращаемого значения:

Cookie

Возвращает:

Экземпляр Cookie

Исключения:

CookieException

Проще создавать новый экземпляр куки.

cookies([array $cookies = [][, bool $getGlobal = true]])
Параметры:
  • $cookies (array) – Если getGlobal false, это передаётся в конструктор CookieStore.
  • $getGlobal (bool) – Если false, создаёт новый экземпляр CookieStore.
Тип возвращаемого значения:

CookieStore

Возвращает:

Экземпляр CookieStore, сохранённый в текущем Response, или новый экземпляр CookieStore.

Возвращает глобальный экземпляр CookieStore, хранящийся в Response.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API