Содержание
Краткий справочник
Системные переменные
Чтобы доставать переменные, просто используйте команду:
$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') }}" />
Используется для динамической установки некоторых переменных в шаблоне.