Краткий справочник

системная переменная

Чтобы использовать эти переменные, просто получите их из объекта $f3, как в:

$current_url = $f3->get('PATH');

АГЕНТ

Тип: string, Read-only

Строка, содержащая автоматически обнаруженный агент пользователя HTTP, например 'Mozilla/5.0 (Linux; Android 4.2.2; Nexus 7) AppleWebKit/537.31'

АЯКС

Тип: bool, Read-only

TRUE если обнаружен XML-HTTP-запрос, FALSEв противном случае. Значение по умолчанию: результат выражения $headers['X-Requested-With']=='XMLHttpRequest'

ПСЕВДОНИМ

Тип: string

Содержит псевдоним (имя) текущего маршрута. Пусто, если текущий маршрут не назван.

ПСЕВДОНИМЫ

Тип: array

Этот массив содержит все именованные маршруты, которые могут быть использованы для отображения соответствующих URL-адресов ссылок в ваших шаблонах.

АВТОЗАГРУЗКА

Тип: string|array По Умолчанию: './'

Путь поиска (**s**) для пользовательских классов PHP, которые фреймворк попытается загрузить автоматически во время выполнения. При указании нескольких путей, в качестве разделителя путей можно использовать трубу (|), запятую (,) или точку с запятой (;).Помните: пути должны заканчиваться косой чертой. Например: $f3->set('AUTOLOAD', 'app/;inc/,./');

Смотрите здесь для получения более подробной информации.Будьте осторожны: если вы определяете эту переменную в конфигурационном файле, помните, что запятые имеют особое значение (разделитель массива). Таким образом, следующие синтаксисы являются допустимыми:

  • AUTOLOAD = foo/;bar/,Customer::casehandler

  • AUTOLOAD = foo/;bar/

  • AUTOLOAD = foo/|bar/

  • AUTOLOAD = "foo/,bar/"

пока AUTOLOAD = foo/,bar/нет.

БАЗА

Тип: string, Read-only по умолчанию: автоопределение

Путь к index.phpглавному / переднему контроллеру.

ТЕЛО

Тип: string, Read-only

Тело HTTP-запроса для спокойной постобработки. Содержит php://inputпоток, используемый запросами PUT, если RAW есть false.

КЭШ

Тип: bool|string По Умолчанию: FALSE

Кэш-сервер. F3 может обрабатывать Memcache module, APC, WinCache, XCache и кэш на основе файловой системы.

Например: если вы хотите использовать модуль memcache, требуется строка конфигурации, например $f3->set('CACHE','memcache=localhost')(порт 11211 по умолчанию) или $f3->set('CACHE','memcache=192.168.72.72:11212').

Когда установлено значениеTRUE, или когда соединение с указанным выше сервером memcached не удалось, F3 автоматически обнаружит в этом порядке наличие APC, WinCache, XCache и использует первый доступный из этих PHP-модулей. Если ни один из этих движков общей памяти не был обнаружен или доступен, в качестве резервного используется бэкэнд на основе файловой системы (каталог по умолчанию: tmp/cacheили вы можете указать папку вне области действия веб-сайта, например $f3->set('CACHE','folder=/var/tmp/f3filescache/').

Фреймворк не использует никакого механизма кэширования при FALSEприсвоении значения.

РЕГИСТРОНЕЗАВИСИМЫЙ

Тип: bool По Умолчанию: TRUE

Сопоставление шаблонов маршрутов с входящими URI по умолчанию не учитывает регистр символов. Установите FALSEзначение, чтобы сделать его чувствительным к регистру.

CLI

Тип: bool, Read-only

TRUE если запрос исходит из интерфейса командной строки, FALSEесли он исходит от веб-сервера.

Дополнительные сведения о том, как обрабатывать запросы CLI, см. В разделе Режим CLI.

КОНТЕЙНЕР

Тип: callable|Prefab|Psr\Container\ContainerInterface

Определяет необязательный контейнер для инъекции зависимостей, используемыйBase->call() и система маршрутизации. CONTAINER поддержка контейнеров PSR-11, вызываемые объекты и классы расширяются Prefab. Prefab- основанные классы должны реализовать этот get(string $id)метод. Вызываемые объекты получают запрошенное $id(например, имя класса) в качестве первого аргумента.

API-несовместимые сторонние контейнеры можно сделать совместимыми с крошечным адаптером.

$dice = … // Configure the API-incompatible Level-2/Dice container.

$f3->set('CONTAINER', function ($class) use ($dice) {
    return $dice->create($class);
});

NB: CONTAINER требуется, по крайней мере, обезжиренный каркас 3.6.4.

COOKIE, GET, POST, REQUEST, SESSION, FILES, SERVER, ENV

Тип: array

Фреймворк-эквиваленты PHP globals. Для вашего удобства F3 автоматически синхронизирует эти переменные с базовыми глобалами PHP. Эти переменные могут использоваться во всем приложении. Однако прямое использование шаблонов не рекомендуется из-за рисков безопасности.

Вполне возможно, что конфигурация PHP не заполняет все глобалы. Если, например, переменные окружения отсутствуют, затем вы должны добавить Eв директиву конфигурации PHP variables_order.

CORS

Тип: array

Параметры конфигурации совместного использования ресурсов между источниками. Состоит из следующих вариантов:

  • headers, строка или массив, по умолчанию:'', разрешенные заголовки в запросе

  • origin, string или false, default:false, allowed origin host, i. e *.mydomain.com

  • credentials bool, default:false, разрешить cookies

  • expose, string or array, default:false, управляет тем, какие заголовки из ответа отображаются в клиентском браузере

  • ttl, int, detault:0, время кэширования запроса предполетных опций

Чтобы включить базовую поддержку CORS, просто установите CORS.originзначение *. Для более определенной настройки вы можете использовать $f3->copy('HEADERS.Origin','CORS.origin');.

ОТЛАЖИВАТЬ

Тип: integer По Умолчанию: 0

Уровень детализации трассировки стека. Назначьте значения от 0 до 3 для повышения уровня детализации следующим образом:

  • 0: подавляет журналы трассировки стека.

  • 1: файлы журналов и строки.

  • 2: также регистрирует классы и функции.

  • 3: также регистрирует подробную информацию об объектах.

Обратите внимание: только значение по умолчанию 0должно использоваться на производственных серверах.

ДИАКРИТИКА

Тип: array Default: array(), пустой массив

Дополнительные пары ключ-значение для перевода символов из внешнего языка в ASCII, как это используется в web - >slug>.

DNSBL

Тип: string Default: '', пустая строка

Разделенный запятыми список серверов черного списка DNS. Фреймворк генерирует 403 Forbiddenошибку, если IPv4-адрес пользователя указан на указанном сервере(серверах).

ЭМОДЗИ

Тип: array Default: array(), пустой массив

Дополнительные пары ключ-значение токенов emoji для добавления к базовому набору, используемому при переводе строки в символы, поддерживаемые шрифтом Unicode. (см.\UTF->emojify())

КОДИРОВАНИЕ

Тип: string По Умолчанию: 'UTF-8'

Набор символов, используемый для кодирования документов.

ОШИБКА

Тип: array, Read-Only

Информация о последней возникшей ошибке HTTP:

  • ERROR.code это код состояния HTTP. напр. 307

  • ERROR.status это краткое описание кода состояния HTTP. напр. 'Temporary Redirect'

  • ERROR.text содержит краткое описание ошибки.

  • ERROR.trace используется для ошибок HTTP 500, чтобы получить трассировку стека. string

  • ERROR.level - уровень отчетности об ошибках (E_WARNING,E_STRICT, и т.д.)

ПОБЕГ

Тип: bool По Умолчанию: TRUE

Используется для включения/отключения автоматического экранирования @токенов, используемых в шаблонах.

ОСВОБОЖДЕННЫЙ

Тип: string По Умолчанию: NULL

Разделенный запятыми список IPv4-адресов, освобожденных от поиска DNSBL.

ИСКЛЮЧЕНИЕ

Тип: object По Умолчанию: NULL

Содержит объект исключения при возникновении необработанных исключений.

ОТСТУПЛЕНИЕ

Тип: string По Умолчанию: 'en'

Язык (и словарь) для использования, если перевод недоступен.

ФОРМАТЫ

Тип: array

Хранение пользовательских правил форматирования для добавления поддержки нескольких форматов локализации или других случаев. Смотрите примеры кода.

$f3->set('FORMATS.polish','FormatHelper->polish');

ФРАГМЕНТ

Тип: string По Умолчанию: NULL

Часть URI после необязательного фрагмента символа хэша ( # ) (http://www.example.org/foo.html#bar)= 'bar'.

ОСТАНОВКА

Тип: bool По Умолчанию: TRUE

Если TRUEфреймворк, зарегистрировав трассировку стека и ошибки, останавливает выполнение (dieбез какого-либо состояния) при обнаружении неустранимой ошибки.

ЗАГОЛОВКИ

Тип: array,Read-Only

Заголовки HTTP-запросов, полученные сервером. например (упрощенный)

array (
	'Host' => 'fatfreeframework.com'
	'Accept-Encoding' => 'gzip,deflate,sdch',
	'Accept-Language' => 'en-US,en;q=0.8,ja;q=0.6'
)

ВЫДЕЛИТЬ

Тип: bool По Умолчанию: FALSE

Включить / отключить подсветку синтаксиса трассировок стека и блоков кода Markdown. При включении требуется code.cssтаблица стилей.

ХОЗЯИН

Тип: string,Read-Only

Имя хоста сервера.

IP

Тип: string,Read-Only

удаленный IP адрес. Фреймворк получает адрес из заголовков, если HTTP-клиент находится за прокси-сервером. Значение по умолчанию: первое совпадение Client-IPthen X-Forwarded-Forthen$_SERVER['REMOTE_ADDR'], в противном случае устанавливается равным ''

КУВШИН

Тип: array

Параметры файлов cookie по умолчанию. Состоит из следующих вариантов:

  • expire Метка времени Unix, когда должен истечь срок действия файла cookie. По умолчанию: 0

  • path Путь к серверу, на котором будет доступен файл cookie. По умолчанию: '/'

  • domain Домен, которому доступен файл cookie. По умолчанию: $_SERVER['SERVER_NAME']если доступно, else ''

  • secure Установите файл cookie, когда существует безопасное HTTPS-соединение. По умолчанию: $_SERVER['HTTPS']=='on'

  • httponly Сделайте файл cookie доступным только по протоколу HTTP. По умолчанию: TRUE

Вы можете обратиться к session_set_cookie_params() в руководстве по PHP для получения дополнительной информации.

Вы также можете посмотреть видео, которое проходит через использование файлов cookie в обезжиренном фреймворке.

ЯЗЫК

Тип: string по умолчанию: автоматически определяется

Текущий активный язык(ы). Значение используется для загрузки соответствующего файла перевода языка(языков) в папку, на которую указывает by LOCALES. По умолчанию: автоматически определяется из заголовка HTTPAccept-Language-запроса, например 'en-US,en,es'.

NB: локаль системы загружается соответственно этой переменной. Например:

$f3->set('ENCODING','UTF-8');
$f3->set('LANGUAGE','it-IT');// the locale it_IT.UTF-8 will be automatically loaded using setlocale

Более подробную информацию и пример смотрите в разделе локализацияBase.

МЕСТО ДЕЙСТВИЯ

Тип: string По Умолчанию: './'

Расположение словарей языка(языков).

Чтобы включить кэширование словарей из конфигурационного файла, вам нужно написать его следующим образом:

LOCALES=/path/to/lexicons | 3600

ЛОГГИРУЕМЫЙ

Тип: string|array По Умолчанию: '*'

Вы можете предоставить ему либо массив, либо разделенный запятыми/запятой список кодов состояния HTTP, чтобы разрешить передачу в error_log()функцию при возникновении ошибки. Это особенно полезно, когда вы создаете приложение CLI с FatFree routes и вам нужно перехватить ошибку 404 not found и отобразить пользовательское сообщение или действие.

LOGGABLE='403;500;'

БРЕВНА

Тип: string По Умолчанию: './'

Расположение пользовательских журналов.

ONERROR

Тип: mixed По Умолчанию: NULL

Функция обратного вызова для использования в качестве пользовательского обработчика ошибок или NULL.Обратите внимание: если функция обратного вызова не указана, то создается страница ошибки по умолчанию (HTML5 для синхронных запросов, строка JSON для AJAX-запросов).

ONREROUTE

Тип: mixed По Умолчанию: NULL

Функция обратного вызова, которая вызывается перед отправкой заголовков перенаправления. Поведение по умолчанию (перенаправление 301/302) будет обойдено, если FALSEне будет возвращено.

$f3->set('ONREROUTE',function($url,$permanent){
  // do something
});
$f3->reroute('/foo?bar=baz');

ПАКЕТ

Тип: string|null По Умолчанию: 'Fat-Free Framework'

Строка, содержащая X-Powered-Byзаголовок.

Если он пуст, то заголовок не отправляется.

PARAMS

Тип: array По Умолчанию: array()

Захваченные значения токенов определены в route()шаблоне. PARAMS[0] содержит захваченный URL-адрес относительно веб-корня.

ПУТЬ

Тип: string, Read-Only

URL-адрес относительно базы. Значение по умолчанию: parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH)

ШАБЛОН

Тип: string, Read-Only

Содержит шаблон маршрутизации, соответствующий текущему URI запроса.

ПЛАГИНЫ

Тип: string По Умолчанию: __DIR__.'/'

Расположение плагинов F3. Значение по умолчанию - это папка, в которой находится код фреймворка, то есть путь к base.phpней .

ПОРТ

Тип: integer, Read-Only

Порт прослушивания TCP / IP, используемый веб-сервером. Значение по умолчанию: $_SERVER['SERVER_PORT']или NULLесли оно недоступно.

ПРЕФИКС

Тип: string По Умолчанию: NULL

Префикс для использования с языком и локализациями.

Например, если ваш файл словаря содержит hello = Hello World, то термин будет доступен через:

  • $f3->get('hello') без префикса

  • $f3->get('DICT.hello') если PREFIX=DICT.(обратите .внимание, это намеренно)

Важно: эта переменная должна быть установлена перед LANGUAGE и LOCALES.

ПРЕМАП

Тип: string Default: '', пустая строка

Эта переменная позволяет создавать префиксы для обработчиков отображенных маршрутов. Например, определение:

$f3->PREMAP = 'action_';
$f3->map('/item','Item');

это то же самое, что определение:

$f3->route('GET /item','Item->action_get');
$f3->route('POST /item','Item->action_post');
$f3->route('PATCH /item','Item->action_patch');
$f3->route('PUT /item','Item->action_put');
$f3->route('DELETE /item','Item->action_delete');

ЗАПРОС

Тип: string, Read-Only

Содержит строку запроса URI запроса запроса (все после вопросительного знака?).

ТИХИЙ

Тип: bool По Умолчанию: FALSE

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

СЫРОЙ

Тип: bool По Умолчанию: FALSE

RAW должен быть верен при обработке больших данных, поступающих из php://inputкоторых не поместится в памяти (ср. Тело).

ОБЛАСТЬ

Тип: string, Read-Only

Полный канонический URL-адрес. Значение по умолчанию: результат 'http(s)://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']

ОТВЕТ

Тип: string, Read-Only

Тело последнего HTTP-ответа. F3 заполняет эту переменную независимо от QUIETнастройки.

КОРЕНЬ

Тип: string, Read-Only

Абсолютный путь к корневой папке документа.

МАРШРУТЫ

Тип: array По Умолчанию: array()

Содержит определенные маршруты приложения.Обратите внимание: маршрут-это больше, чем просто URL-адрес. Это HTTP-глагол (или глаголы) и URL-адрес.

СХЕМА

Тип: string, Read-Only

Серверный протокол. По умолчанию: 'http'или 'https'

СЕМЯ

Тип: string

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

$f3->set('SEED', $f3->hash('myDomainSEED'));
$f3->set('CACHE', TRUE);

NB: начальный ключ также используется для генерации токенов CSRF в обработчиках сеансов.

СЕРИАЛИЗАТОР

Тип: string по умолчанию: автоматически определяется

Сериализатор по умолчанию, используемый методом Base - >serialize ()>. Значение по умолчанию: igbinaryесли доступно, в противном phpслучае .

ТЕМПЕРАТУРА

Тип: string По Умолчанию: 'tmp/'

Временная папка для кэша, блокировки файловой системы, скомпилированных шаблонов F3 и т. д. Значение по умолчанию-это 'tmp/'папка внутри веб-корня. Отрегулируйте соответствующим образом, чтобы соответствовать политикам безопасности вашего сайта.

Если вы используете Google App Engine (GAE) для развертывания приложения, рекомендуется установить его в облачном хранилище dir.

ВРЕМЯ

Тип: float по умолчанию: автоматически определяется

Время начала работы фреймворка. Значение по умолчанию: текущее время Unix в секундах с точностью до ближайшей микросекунды в соответствии с функцией PHP microtime(**TRUE**).

ТЗ

Тип: string по умолчанию: автоматически определяется

Часовой пояс для использования. Изменение этого значения автоматически вызывает базовую функцию PHP date_default_timezone_set(). Смотрите список поддерживаемых часовых поясов, чтобы получить возможное значение для использования здесь. Падает обратно'UTC', если автоматическое обнаружение не удается.

ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

Тип: string По Умолчанию: './'

Путь поиска файлов пользовательского интерфейса, используемых методом Viewand Templateclasses.render() Принимает трубу (|), запятую (,) или точку с запятой (;) в качестве разделителя для нескольких путей.

РАЗГРУЖАТЬ

Тип: callback По Умолчанию: NULL

Определяет обработчик завершения работы, который фреймворк будет выполнять при завершении работы приложения.

ЗАГРУЗИТ

Тип: string По Умолчанию: './'

Каталог, в котором сохраняются загружаемые файлы.

УРИ

Тип: string по умолчанию: автоматически определяется

Ссылка на текущий URI HTTP-запроса.

ГЛАГОЛ

Тип: string по умолчанию: автоматически определяется

Ссылка на текущий метод HTTP-запроса.

ВЕРСИЯ

Тип: string по умолчанию: например '3.2.1-Release'

Строка, содержащая версию фреймворка.

XFRAME

Тип: string|NULL по умолчанию: например 'SAMEORIGIN'

Строка, содержащая X-Frame-Optionsзаголовок.

Если он пуст, то заголовок не отправляется.

Шаблонные Директивы

Знак

  • @token

    @tokenЗаменить значением эквивалентной переменной F3.

  • {{ mixed expr }}

    Оцените выражение expr. Выражение может включать шаблонные маркеры, константы, операторы (унарные, арифметические, троичные и реляционные), круглые скобки, преобразователи типов данных и функции. Если это не атрибут шаблонной директивы, то результат будет echo'Ed.

  • {{ string expr | esc }}

    Выражение рендера expr сбежало. Это поведение фреймворка по умолчанию. | escСуффикс необходим только в том случае, если глобальная переменная ESCAPE была установлена в FALSEзначение.

  • {{ string expr | raw }}

    Сделайте выражение expr лица неоткрытым. Поскольку F3 автоматически экранирует строковые маркеры по умолчанию, вы можете использовать этот суффикс для обхода экранирования конкретного маркера.

  • {{ string expr, arg0, …, argN | format }}

    Визуализируйте выражение exprв ICU-формате и передайте аргументы, разделенные запятыми, где arg0, …, argNиспользуется в exprкачестве ссылки, каждый из которых имеет дополнительный форматер , который может быть одним из следующих:'date','time', 'number'или 'plural'(возможны дополнительные параметры форматирования). Взгляните на метод формата для получения дополнительных примеров использования. Более подробная информация о форматировании чисел, валют, дат и времени в отделении интенсивнойтерапии . Образец: {{'date: {0,date} - time: {0,time} - price: {1,number,currency}',time(),@price | format}}

  • {{ string name, args | alias }}

    создает URL-адрес именованного маршрута, т. е.: {{ @name, 'a=5,b='.@id | alias }}

  • {~ string expr ~}

    Оценочное выражение expr, аналогичное {{expr}}результату, но не повторяющее его.

  • {* text-block *}

    Исключите сегмент вашего шаблона. Псевдоним to <exclude>

  • {- {{@BASE}} -}

    Игнорируйте все маркеры в {- -}выражении и печатайте их такими, какие они есть.

Включать

<include [ if="{{ bool condition }}" ] href="{{ string subtemplate }}" [ with="{{ string additional_variables }}" ] />

Получить содержимое subtemplateи вставить в текущую позицию шаблона [ если опция conditionимеет значение true].

Текущий улей данных передается в подпланшет, обогащенный additional_variablesif provided (примеры см. здесь).

Исключать

<exclude>text-block</exclude>

Исключить text-blockво время выполнения. Используется для встраивания комментариев в шаблоны. Псевдоним для этого есть:

{* text-block *}

Игнорировать

<ignore>text-block</ignore>

Отображение text-blockкак есть, без какой-либо интерпретации/модификации шаблонизатором шаблонов.

Проверять

<check if="{{ bool condition }}">
    <true>true-block</true>
    <false>false-block</false>
</check>

Оцените condition. IfTRUE, true-blockто визуализируется; else false-blockто визуализируется.

Короткая форма: Если вам не нужен и вы не указываете блок false, то для вашего удобства F3 делает открывающие и закрывающие теги для true необязательными:

<check if="{{ @debugmode && @showtrace }}"><code>{{ @showtrace }}</code></check>

Петля

<loop from="{{ statement }}" to="{{ bool expr }}" [ step="{{ statement }}" ]>
    text-block
</loop>

Оцените fromзаявление один раз. Проверьте, является ли выражение в toатрибуте TRUEоператором render text-blockand evaluatestep. Повторяйте итерацию до тех пор, пока toвыражение не станет FALSE.

Пример:

<loop from="{{ @i=0 }}" to="{{ @i < count(@bar) }}" step="{{ @i++ }}">

</loop>

Повторять

<repeat group="{{ array @group|expr }}" [ key="{{ scalar @key }}" ] value="{{ mixed @value }}" [ counter="{{ scalar @key }}" ]>
    text-block
</repeat>

Повторите text-blockстолько раз, сколько элементов в переменной массива @groupили выражении expr. @key и @valueфункционировать таким же образом, как пара ключ-значение в эквивалентном PHPforeach()-операторе. Переменная, представленная keyв counterатрибуте in, увеличивается 1с каждой итерацией.

Переключатель

<switch expr="{{ scalar expr }}">
    <case value="{{ scalar @value|expr }}" break="{{ bool TRUE|FALSE }}">
        text-block
    </case>
    .
    .
    .
    <default>
        message
    </default>
</switch>

Эквивалент структуры таблицы переходов PHP switch-case.

Набор

<!-- set some variables -->
<set foo="{{ 1+2 }}" bar="{{ @foo+3 }}" baz="xyz" />
<!-- set an array -->
<set myarray="{{ array('a','b','c') }}" />

Используется для динамической установки некоторых переменных в шаблоне.

Last updated