Короткий довідник

Системні змінні

Щоб використовувати ці змінні, просто отримайте їх з об'єкта $ f3, як у:

framework

АГЕНТ

Тип: рядок, лише для читання

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

Тип: bool, лише для читання

ІСТИНА, якщо виявлено запит XML HTTP, інакше - FALSE. Значення за замовчуванням: Результат виразу $ headers ['X-Request-With'] == 'XMLHttpRequest'

ПСЕВЕМІЇ

Тип: рядок

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

НИКНЕЙМИ

Тип: масив

Цей масив містить усі названі маршрути, які можна використовувати для відображення відповідних URL-адрес посилань у ваших шаблонах.

ЗАВАНТАЖИТИ

Тип: рядок | масив За замовчуванням: './'

Шлях пошуку (** s **) для визначених користувачем класів PHP, які фреймворк намагатиметься завантажити автоматично під час виконання. Визначаючи кілька шляхів, ви можете використовувати конвеєр (|), кому (,) або крапку з комою (;) як роздільник шляхів.

Детальніше див. Тут.

Тип: рядок, лише для читання За замовчуванням: автоматично виявляється

Шлях до основного/переднього контролера index.php.

Тип: рядок, лише для читання

Тіло запиту HTTP для повторної обробки. Містить вхідний потік php: //, що використовується запитами PUT, якщо RAW хибний .

КЕШ

Тип: bool | рядок За замовчуванням: ПОМИЛКОВИЙ

Бекенд кешу. F3 може обробляти модуль Memcache, APC, WinCache, XCache та кеш на базі файлової системи.

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

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

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

БЕЗСЛУЧАЙНИЙ

Тип: bool За замовчуванням: ІСТИНА

Зіставлення шаблонів маршрутів із вхідними URI за замовчуванням не враховує регістр. Встановіть значення FALSE, щоб зробити його чутливим до регістру.

Тип: bool, лише для читання

TRUE, якщо запит походить з інтерфейсу командного рядка, FALSE, якщо він надходить з веб-сервера.

Докладніше про обробку запитів CLI див. У режимі CLI.

КОНТЕЙНЕР

Тип: викликається | Збірний | Psr \ Container \ ContainerInterface

Визначає необов’язковий контейнер для введення залежностей, який використовується Base-> call () та системою маршрутизації. CONTAINER підтримує контейнери PSR-11, виклики та класи, що розширюють Prefab. Класи на основі збірних модулів повинні реалізовувати метод get (string $ id). Викликанці отримують запитаний ідентифікатор $ (наприклад, назву класу) як перший аргумент.

Несумісні з API сторонні контейнери можна зробити сумісними з крихітним адаптером.

Примітка: CONTAINER вимагає щонайменше нежирного середовища 3.6.4 .

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

Тип: масив

Фреймворк-еквіваленти глобальних програм PHP. Для вашої зручності F3 автоматично синхронізує ці змінні з основними глобальними стандартами PHP. Ці змінні можуть використовуватися у всій програмі. Однак безпосереднє використання в шаблонах не рекомендується через ризики безпеки.

Можливо, конфігурація PHP не заповнює всі глобальні ресурси. Якщо, наприклад, відсутні змінні середовища, то вам слід додати E до директиви конфігурації PHP variables_order .

Тип: масив

Параметри конфігурації спільного використання ресурсів спільного використання. Складається з наступних варіантів:

  • заголовки, рядок або масив, за замовчуванням: '', дозволені заголовки у запиті
  • origin, string або false, за замовчуванням: false, дозволений хост джерела, тобто * .mydomain.com
  • облікові дані bool, за замовчуванням: false, дозволити файли cookie
  • expose, рядок або масив, за замовчуванням: false, контролює, які заголовки відповіді піддаються клієнтському браузеру
  • ttl, int, detault: 0, час кешування запиту ОПЦІЙ перед вильотом

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

НАЛАГОДЖУВАТИ

Тип: ціле число За замовчуванням: 0

Рівень деталізації трасування стека. Призначте значення від 0 до 3 для підвищення рівня деталізації наступним чином:

  • 0: придушує журнали трасування стека.
  • 1: журнали файлів і рядків.
  • 2: також реєструє класи та функції.
  • 3: також реєструє детальну інформацію про об’єкти.

ДІАКРИТИКА

Тип: масив За замовчуванням: array (), порожній масив

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

DNSBL

Тип: рядок За замовчуванням: '', порожній рядок

Список серверів чорного списку DNS, розділених комами. Framework генерує заборонену помилку 403, якщо IPv4-адреса користувача вказана на вказаних серверах.

EMOJI

Тип: масив За замовчуванням: array (), порожній масив

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

КОДУВАННЯ

Тип: рядок За замовчуванням: 'UTF-8'

Набір символів, що використовується для кодування документів.

ПОМИЛКА

Тип: масив, лише для читання

Інформація про останню помилку HTTP, яка сталася:

  • ERROR.code - це код стану HTTP. напр. 307
  • ERROR.status - це короткий опис коду стану HTTP. напр. "Тимчасова переадресація"
  • ERROR.text містить короткий опис помилки.
  • ERROR.trace використовується для помилок HTTP 500 для отримання трасування стека. рядок
  • ERROR.level - рівень звітування про помилки (E_WARNING, E_STRICT тощо)

ВТЕЧА

Тип: bool За замовчуванням: ІСТИНА

Використовується для ввімкнення/вимкнення автоматичного екранування @tokens, що використовується в шаблонах.

ЗВІЛЬНЕНО

Тип: рядок За замовчуванням: НУЛЬ

Розділений комами список адрес IPv4, які потрібно виключити із пошуку DNSBL.

ВИНЯТК

Тип: об'єкт За замовчуванням: НУЛЬ

Містить об'єкт винятку, коли трапляються необроблені винятки.

ВІДСТУПАТИ

Тип: рядок За замовчуванням: 'en'

Мова (і словник) для використання, якщо перекладу немає.

ФОРМАТИ

Тип: масив

Сховище для правил спеціального формату для додавання підтримки для декількох форматів локалізації або інших випадків. Див. Зразки коду.

ФРАГМЕНТ

Тип: рядок За замовчуванням: НУЛЬ

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

Тип: bool За замовчуванням: ІСТИНА

Якщо TRUE, фреймворк після реєстрації трасування стека та помилок зупиняє виконання (вмирає без будь-якого стану), коли виявляється помилкова помилка.

ГОЛОВНИКИ

Тип: масив, лише для читання

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

ОСВІТЛЕННЯ

Тип: bool За замовчуванням: ПОМИЛКОВИЙ

Увімкнути/вимкнути підсвічування синтаксису слідів стека та блоків коду Markdown. Якщо увімкнено, потрібна таблиця стилів code.css.

Тип: рядок, лише для читання

Ім'я хоста сервера.

Тип: рядок, лише для читання

Віддалена IP-адреса. Фреймворк отримує адресу із заголовків, якщо клієнт HTTP знаходиться позаду проксі-сервера. Значення за замовчуванням: Перший збіг Client-IP, потім X-Forwarded-For, потім $ _SERVER ['REMOTE_ADDR'], інакше встановлено на ''

Тип: масив

Параметри файлів cookie за замовчуванням. Складається з наступних варіантів:

  • закінчується мітка часу Unix, коли термін дії файлу cookie повинен закінчитися. За замовчуванням: 0
  • path Шлях на сервері, на якому буде доступний файл cookie. За замовчуванням: '/'
  • domain Домен, якому доступний файл cookie. За замовчуванням: $ _SERVER ['SERVER_NAME'], якщо доступний, інакше ''
  • безпечний Встановіть файл cookie, коли існує безпечне з'єднання HTTPS. За замовчуванням: $ _SERVER ['HTTPS'] == 'увімкнено'
  • httponly Зробіть файл cookie доступним лише за протоколом HTTP. За замовчуванням: TRUE

Ви також можете переглянути відео, яке переглядає використання файлів cookie в Fat-Free Framework.

МОВУ

Тип: рядок За замовчуванням: автоматично виявляється

Поточна активна мова (мови). Значення використовується для завантаження відповідних файлів перекладу на відповідні мови (мови) у папці, на яку вказує LOCALES. За замовчуванням: автоматично визначається із заголовка запиту HTTP Accept-Language, наприклад 'en-US, en, es' .

Примітка: Мовна система завантажується відповідно до цієї змінної. Наприклад:

Детальніше та приклад див. У розділі Локалізація в Base.

МІСЦЕВІ

Тип: рядок За замовчуванням: './'

Розташування мовних словників.

Щоб увімкнути кешування словників із конфігураційного файлу, вам потрібно написати це таким чином:

ВХІДНИЙ

Тип: рядок | масив За замовчуванням: '*'

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

Тип: рядок За замовчуванням: './'

Розташування власних журналів.

ПОМИЛКА

Тип: змішані За замовчуванням: НУЛЬ

Функція зворотного виклику для використання як спеціальний обробник помилок або NULL .

ВИМИКАТИ

Тип: змішані За замовчуванням: НУЛЬ

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

ПАКЕТ

Тип: рядок | нуль За замовчуванням: 'Безжирний каркас'

Рядок, що містить заголовок X-Powered-By.

Якщо порожній, заголовок не надсилається.

ПАРАМЕТРИ

Тип: масив За замовчуванням: масив ()

Захоплені значення маркерів, визначених у шаблоні route (). PARAMS [0] містить захоплену URL-адресу щодо веб-кореня.

Тип: рядок, лише для читання

URL-адреса щодо BASE. Значення за замовчуванням: parse_url ($ _ SERVER ['REQUEST_URI'], PHP_URL_PATH)

Шаблон

Тип: рядок, лише для читання

Містить шаблон маршрутизації, який відповідає поточному URI запиту.

ПЛУГІНИ

Тип: рядок За замовчуванням: __DIR __. '/'

Розташування плагінів F3. Значенням за замовчуванням є папка, де знаходиться фреймворк-код, тобто шлях до base.php .

Тип: ціле число, лише для читання

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

ПРЕФІКС

Тип: рядок За замовчуванням: НУЛЬ

Префікс для використання з МОВОЮ та МІСЦЯМИ.

Наприклад, якщо ваш файл словника містить hello = Hello World, термін буде доступний за допомогою:

  • $ f3-> get ('привіт') без префікса
  • $ f3-> get ('DICT.hello'), якщо PREFIX = DICT. (Зверніть увагу, це навмисно)

ПРЕМАТА

Тип: рядок За замовчуванням: '', порожній рядок

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

це те саме, що і визначення:

ЗАПИТ

Тип: рядок, лише для читання

Містить рядок запиту URI запиту (все після знака питання?).

ТИХО

Тип: bool За замовчуванням: ПОМИЛКОВИЙ

Тумблер для придушення або ввімкнення стандартного виводу та повідомлень про помилки. Особливо корисний при модульному тестуванні.

Тип: bool За замовчуванням: ПОМИЛКОВИЙ

RAW має бути TRUE при обробці великих даних, що надходять з php: // введення, яке не поміщається в пам'ять (пор. BODY).

REALM

Тип: рядок, лише для читання

Повна канонічна URL-адреса. Значення за замовчуванням: Результат 'http (s): //'.$_SERVER [' SERVER_NAME ']. $ _ SERVER [' REQUEST_URI ']

ВІДПОВІДЬ

Тип: рядок, лише для читання

Тіло останньої відповіді HTTP. F3 заповнює цю змінну незалежно від налаштування QUIET.

Тип: рядок, лише для читання

Абсолютний шлях до кореневої папки документа.

МАРШРУТИ

Тип: масив За замовчуванням: масив ()

Містить визначені маршрути додатків.

СХЕМА

Тип: рядок, лише для читання

Протокол сервера. За замовчуванням: 'http' або 'https'

Тип: рядок

Рядок SEED використовується як назва префікса для записів кешу та імен тимчасових файлів, щоб уникнути зіткнень ключів кешу. Якщо ви використовуєте декілька доменів із вашим додатком, значення автоматичного генерування SEED за замовчуванням буде іншим. Якщо ви хочете надати спільний доступ до кеш-пам’яті та тимчасового файлу для обох доменів, встановіть власне SEED перед ініціалізацією КЕШУ:

Примітка: Ключ SEED також використовується для генерації токенів CSRF в обробниках Session.

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

Тип: рядок За замовчуванням: автоматично виявляється

За замовчуванням серіалізатор, що використовується методом серіалізації "> Base-> serialize (). Значення за замовчуванням: igbinary, якщо є, інакше php .

Тип: рядок За замовчуванням: 'tmp /'

Тимчасова папка для кешу, блокування файлової системи, скомпільовані шаблони F3 тощо. Значенням за замовчуванням є папка 'tmp /' усередині веб-кореня. Налаштуйте відповідно до політики безпеки вашого веб-сайту.

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

Тип: плавати За замовчуванням: автоматично виявляється

Початковий час фреймворку. Значення за замовчуванням: поточний час Unix у секундах з точністю до найближчих мікросекунд відповідно до мікрочасу функції PHP (** TRUE **).

Тип: рядок За замовчуванням: автоматично виявляється

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

Тип: рядок За замовчуванням: './'

Шлях пошуку для файлів користувальницького інтерфейсу, що використовуються методом render () класів View та Template.
Приймає конвеєр (|), кому (,) або крапку з комою (;) як роздільник для декількох шляхів.

ВИГРАНИТИ

Тип: зворотний дзвінок За замовчуванням: НУЛЬ

Визначає обробник вимкнення, який фреймворк буде виконувати при вимкненні програми.

ЗАВАНТАЖЕННЯ

Тип: рядок За замовчуванням: './'

Каталог, де зберігаються завантажені файли.

Тип: рядок За замовчуванням: автоматично виявляється

Посилання на поточний URI запиту HTTP.

Тип: рядок За замовчуванням: автоматично виявляється

Посилання на поточний метод запиту HTTP.

ВЕРСІЯ

Тип: рядок За замовчуванням: напр. '3.2.1-Випуск'

Рядок, що містить версію Framework.

XFRAME

Тип: рядок | НУЛЬ За замовчуванням: напр. "САМООРИГІН"

Рядок, що містить заголовок X-Frame-Options.

Якщо порожній, заголовок не надсилається.

Директиви щодо шаблонів

Токен

Замініть @token значенням еквівалентної змінної F3.

Оцініть вираження вираження Вираз може включати маркери шаблонів, константи, оператори (одинарні, арифметичні, трикутні та реляційні), дужки, перетворювачі типів даних та функції. Якщо це не атрибут директиви шаблону, результат повторюється.

Вираз рендеринга вимкнено. Це поведінка фреймворка за замовчуванням. | суфікс esc необхідний лише в тому випадку, якщо для глобальної змінної ESCAPE встановлено значення FALSE .

Вираз вираження рендеринга не скасовано. Оскільки за замовчуванням F3 автоматично вмикає маркери рядків, ви можете використовувати цей суфікс для обходу екранування конкретного маркера.

Візуалізуйте вираз expr у форматі ICU та передайте аргументи, відокремлені комами, де arg0,…, argN використовується у expr як посилання, кожен із необов’язкового форматування, яке може бути одним із: „дата“, „час“, „номер 'або' множина '(можливі додаткові параметри форматування). Подивіться на метод форматування, щоб отримати більше прикладів використання. Більше інформації про форматування ICU чисел, валют, дат та часу. Зразок: - час: - ціна: ', час (), @ ціна | формат >>

Оцініть вираз expr, подібний до>, але не відображає результат.

Виключіть сегмент вашого шаблону. Псевдонім

Ігноруйте всі маркери у виразі та друкуйте їх такими, як вони є.

Включати

Отримати вміст підшаблона та вставити в поточну позицію у шаблоні [якщо необов’язкова умова істинна].

Поточний вулик даних передається в підшаблон, збагачений додатковими_змінними, якщо передбачено (див. Тут приклади).

Виключити

Виключити текстовий блок під час виконання. Використовується для вбудовування коментарів у шаблони. Псевдонім для цього:

Ігнорувати

Відображати текстовий блок таким, який він є, без будь-якої інтерпретації/модифікації механізмом шаблонів.

Перевірте

Оцініть стан. Якщо TRUE, візуалізується блок true; інакше фальшивий блок відображається.

Коротка форма: Якщо вам не потрібно і не вказуєте помилковий блок, то для вашої зручності F3 робить відкриваючим і закриваючим теги для true необов’язковим:

Оцініть із заяви один раз. Перевірте, чи є вираз в атрибуті to TRUE, візуалізуйте текстовий блок та обчисліть оператор кроку. Повторюйте ітерацію, доки вираз не стане ФАЛЬШОЮ .

Повторити

Повторюйте текстовий блок стільки разів, скільки елементів у змінній масиву @group або виразі expr. @key і @value функціонують так само, як пара ключ-значення в еквівалентному висловленні PHP foreach (). Змінна, представлена ​​ключем у прирості атрибута лічильника на 1 з кожною ітерацією.

Перемикач

Еквівалент структури таблиці переходів у випадку комутатора PHP.

Використовується для динамічного встановлення деяких змінних у шаблоні.