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

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

Чтобы использовать эти переменные, просто получите их из объекта $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='[email protected] | 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') }}" />
Используется для динамической установки некоторых переменных в шаблоне.