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

Системные переменные

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

$foo = $f3->get('AGENT');

AGENT

Тип: string ,Read-only

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

AJAX

Тип: bool ,Read-only

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

ALIAS

Тип: string

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

$f3->route('GET @name : /',function($f3){
    echo $f3->get('ALIAS');//output 'name'
});

ALIASES

Тип: array

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

AUTOLOAD

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

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

НАПОМИНАНИЕ: пути должны заканчиваться косой чертой. Например:$f3→set('AUTOLOAD', 'app/;inc/,./');

Подробнее см. Здесь .

ВНИМАНИЕ: если вы определяете эту переменную в файле конфигурации, помните, что запятые имеют особое значение (разделитель массивов). Итак, допустимы следующие синтаксисы: AUTOLOAD = foo/;bar/,Customer::casehandler AUTOLOAD = foo/;bar/ AUTOLOAD = foo/|bar/ AUTOLOAD = «foo/,bar/» Не правильная команда: AUTOLOAD = foo/,bar/

BASE

Тип: string, Read-only

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

BODY

Тип: string ,Read-only

Тело HTTP-запроса для постобработки ReSTful. Содержит поток php:

//

input , используемый запросами PUT, если RAW - false.

CACHE

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

Кэширование. F3 может обрабатывать модуль Memcache, 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.

CASELESS

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

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

CLI

Тип: bool ,Read-only

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

См. Режим CLI для получения дополнительной информации о том, как обрабатывать запросы CLI.

CONTAINER

Тип: 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);
});

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

Тип: array

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

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

CORS

Тип: array

Параметры конфигурации Cross-Origin Resource Sharing . Состоит из следующих опций:

  • headers, строка или массив, по умолчанию:' ',разрешенные заголовки в запросе
  • origin, строка или false, по умолчанию: false ,разрешенный исходный хост, т.е. *mydomain.com
  • credentialsbool, по умолчанию: false ,разрешить куки
  • expose, строка или массив, по умолчанию : false, контролирует, какие заголовки из ответа доступны клиентскому браузеру
  • ttl, int, detault:, 0время кеширования предполетного запроса OPTIONS

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

DEBUG

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

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

0: подавляет журналы трассировки стека. 1: файлы и строки журналов. 2: также регистрирует классы и функции. 3: также записывает подробную информацию об объектах.

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

DIACRITICS

Тип: array По умолчанию: array(), пустой массив

Дополнительные пары «ключ-значение» для перевода чужих символов в ASCII, используемые в web→ slug .

DNSBL

Тип: string По умолчанию: ' ', пустая строка

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

EMOJI

Тип: array По умолчанию:, array() пустой массив

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

ENCODING

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

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

ERROR

Тип: 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и т.д.)

ESCAPE

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

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

EXEMPT

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

Список адресов IPv4, разделенных запятыми, для исключения из поиска DNSBL.

EXCEPTION

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

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

FALLBACK

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

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

FORMATS

Тип: array

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

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

FRAGMENT

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

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

HALT

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

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

HEADERS

Тип: 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'
)

HIGHLIGHT

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

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

HOST

Тип: string ,Read-Only

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

IP

Тип: string ,Read-Only

Удаленный IP-адрес. Платформа получает адрес из заголовков, если HTTP-клиент находится за прокси-сервером.

JAR

Тип: array

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

  • expireВременная метка Unix, когда истекает срок действия cookie. По умолчанию:0
  • pathПуть на сервере, на котором cookie будет доступен. По умолчанию:'/'
  • domainДомен, для которого доступен файл cookie. По умолчанию: $_SERVER['SERVER_NAME']если доступно, иначе' '
  • secureУстановите cookie, когда существует безопасное соединение HTTPS. По умолчанию:$_SERVER['HTTPS']=='on'
  • httponlyСделайте cookie доступным только по протоколу HTTP. По умолчанию:TRUE

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

LANGUAGE

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

Текущий активный язык(и). Значение используется для загрузки файла(ов) перевода на соответствующий язык(ы) в папку, на которую указывает LOCALES. По умолчанию: автоматически определяется из Accept-Language заголовка HTTP-запроса, например '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 для более подробной информации и примера.

LOCALES

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

Расположение словарей языка(ов). Чтобы включить кеширование словарей из конфигурационного файла, вам нужно записать его так:

LOCALES=/path/to/lexicons | 3600

LOGGABLE

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

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

LOGGABLE='403;500;'

LOGS

Тип: 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');

PACKAGE

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

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

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

PARAMS

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

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

PATH

Тип: string ,Read-Only

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

PATTERN

Тип: string ,Read-Only

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

PLUGINS

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

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

PORT

Тип: integer ,Read-Only

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

PREFIX

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

Префикс для использования с LANGUAGE и LOCALES.

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

$f3->get('hello') //без префикса
$f3->get('DICT.hello')//если PREFIX=DICT.(обратите внимание на <wrap em>.</wrap>)

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

PREMAP

Тип: string По умолчанию: ' ', пустая строка

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

$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');

QUERY

Тип: string ,Read-Only

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

QUIET

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

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

RAW

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

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

REALM

Тип: string ,Read-Only

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

RESPONSE

Тип: string ,Read-Only

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

ROOT

Тип: string ,Read-Only

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

ROUTES

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

Содержит определенные маршруты приложения.

Примечание: маршрут - это больше, чем просто URL-адрес. Это HTTP-VERB (или VERB) и URL-адрес.

SCHEME

Тип: string ,Read-Only

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

SEED

Тип: string

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

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

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

SERIALIZER

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

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

TEMP

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

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

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

TIME

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

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

TZ

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

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

UI

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

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

UNLOAD

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

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

UPLOADS

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

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

URI

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

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

VERB

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

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

VERSION

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

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

XFRAME

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

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

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

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

Token

  • @token

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


  • {{ mixed expr }}

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


  • {{ string expr | esc }}

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


  • {{ string expr | raw }}

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


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

Отобразит выражение expr в СИС-формате и передаст аргументы ,перечисленные через запятую ,arg0, …, argN которые используется в expr и вставляются каждый на свои места.Взгляните на метод format для дополнительных примеров. Дополнительная информация о форматировании ICU чисел, валют, дат и времени . Пример:

{{'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 *}

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


  • {- {{@BASE}} -}

Игнорируйте все токены в выражении

{- -}

и распечатайте их как есть.

Include

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

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

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

Exclude

<exclude>text-block</exclude>

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

{* text-block *}

Ignore

<ignore>text-block</ignore>

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

Check

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

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

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

<check if="{{ @debugmode && @showtrace }}"><cоde>{{ @showtrace }}</cоde></check>

Loop

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

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

Пример:

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

Repeat

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

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

Switch

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

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

Set

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

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

Печать/экспорт