База
Базовый класс представляет ядро фреймворка. Он содержит все необходимое для запуска простого приложения. Файл base.php
также включает в себя основные кэш, сборку, просмотр, ISO и классы реестра, чтобы уменьшить ненужный дисковый ввод-вывод для оптимальной производительности.
Не стесняйтесь удалять все остальные файлы в lib/
каталоге, если все, что вам нужно, - это основные функции, предоставляемые этим пакетом.
Пространство имен: \
Расположение файла: lib/base.php
улей
Улей-это массив памяти, в котором хранятся переменные фреймворка в виде пар ключ / значение. Хранение значения в улье гарантирует, что оно глобально доступно для всех классов и методов в вашем приложении.
набор
Привязка значения к ключу улья
Примеры установки переменных фреймворка:
Установка массивов:
Настройка свойств объекта:
более короткий синтаксис ArrayAccess, начиная с версии v3. 4. 0
Свойства кэширования
Если $ttl
параметр равен > 0 и механизм кэширования > framework включен, указанная переменная будет кэшироваться в течение $ttl
нескольких секунд. Уже кэшированные Вары будут обновлены путем повторного использования старого времени истечения срока действия.
Если вам нужно кэшировать vars в течение бесконечного времени, проверьте метод Cache->set>.
Вы можете кэшировать строки, массивы и все другие типы-даже полные объекты. get()
будет автоматически загружать их из кэша.
Примеры кэширования фреймворковых переменных:
Системная переменная
Фреймворк имеет свои собственные системные переменные. Вы можете изменить их, чтобы изменить поведение фреймворка, например:
Также можно установить PHP глобалы через файлы COOKIE F3, GET, POST, REQUEST, SESSION, FILES, SERVER, env системные переменные. Эти 8 переменных автоматически синхронизируются с базовыми глобалами PHP.Примечание: Если вы устанавливаете или получаете доступ к ключу сеанса, сеанс запускается автоматически. Вам нет необходимости делать это самостоятельно.
Помните: ключи улья чувствительны к регистру. Кроме того, ключи корневого улья проверяются на валидность по этим разрешенным символам: [ a-z A-Z 0-9 _ ]
получить
Извлечение содержимого ключа улья
Чтобы получить значение ранее сохраненного фреймворка var, используйте:
Если возвращаемое значение представляет собой строку, содержащую один или несколько заполнителей формата, аргументы могут передаваться непосредственно после имени ключа:
Обратите внимание: если кэширование включено и var ранее не был определен во время выполнения, F3 пытается загрузить var из кэша при использовании get().
Доступ к массивам очень прост. Вы также можете использовать точечную нотацию JS'myarray.bar'
, что значительно облегчает чтение и запись.
синхронизация
Синхронизируйте глобальную переменную PHP с соответствующим ключом улья
Использование:
F3 автоматически синхронизирует следующие PHP глобалы: GET, POST, COOKIE, REQUEST, SESSION, FILES, SERVER, ENV
ссылка
Получить ссылку на ключ улья и его содержимое
Использование:
Вы также можете добавить несуществующие ключи улья, элементы массива и свойства объекта, если 2-й аргумент по умолчанию имеет значение TRUE.
Если 2-й аргумент $add
равенfalse
, то он просто возвращает содержимое ключа улья только для чтения. Это поведение используется get (). Если ключ улья не существует, он возвращает значение NULL.
Используйте 3-й аргумент, если вы хотите найти ссылку в своем собственном массиве / объекте, а не в улье.
Таким образом, вы также можете использовать точечную нотацию с вашими собственными объектами.
существует
Возвращает TRUE, если ключ улья установлен (или возвращает метку времени и TTL, если кэширован)
Эта exists
функция также проверяет внутреннее хранилище кэша, когда ключ не найден в улье. Если ключ найден в кэше, он затем возвращается array ( $timestamp, $ttl )
.Обратите внимание: exists использует функцию PHP `isset ()`, чтобы определить, установлен ли ключ улья и не равен нулю.
Использование:
exists
это особенно полезно с глобальными переменными PHP автоматически синхронизируемыми F3:
Обратите внимание: если вы проверяете наличие ключа сеанса, сеанс запускается автоматически.
$val
Этот аргумент можно также использовать для извлечения содержимого ключа hive. Это может сэкономить дополнительный get
звонок.
лишенный
Возвращает TRUE, если ключ hive пуст и не кэшируется
Эта devoid
функция также проверяет внутреннее хранилище кэша, если ключ не был найден в улье.Обратите внимание: devoid использует функцию PHP `empty ()`, чтобы определить, является ли ключ hive пустым и не кэшируется.
Использование:
Очистить
Unset Hive key, ключ больше не существует
Чтобы полностью удалить ключ улья и его значение из памяти:
Если данный ключ улья был кэширован ранее, он также будет очищен от кэша.
Еще несколько специальных применений:
Обратите внимание: очистка всего содержимого кэша сразу не поддерживается для бэкенда кэша XCache
mset
Многопеременное присвоение с использованием ассоциативного массива
Использование:
Вы можете добавить все имена ключей, используя 2-й аргумент $prefix
.
Чтобы кэшировать все Вары, установите положительное числовое целое значение $ttl
в секундах.
улей
Возвращает все содержимое Улья в виде массива
Использование:
Копировать
Скопируйте содержимое переменной hive в другую переменную
Возвращает доступную для записи ссылку на новый $dst
ключ улья. Если $dst
он уже существует в улье, он просто перезаписывается.
Использование:
конкат
Связать строку с переменной Hive string
Возвращает результат конкатенации. Примечание: если $key
он не существует в улье, то он автоматически создается в улье.
Использование:
сальто
Ключи подкачки и значения переменной массива улья
Использование:
толкать
Добавить элемент в конец переменной массива улья
Использование:
хлопок
Удалить последний элемент переменной массива улья
Использование:
unshift
Добавить элемент в начало переменной массива hive
Использование:
сдвиг
Удалить первый элемент переменной массива улья
Возвращает переменную массива улья, сдвинутую влево, или NULL
если переменная массива улья пуста или не является массивом.Обратитевнимание: shift
используйте функцию PHP array_shift()
. Это означает, что все числовые ключи массива переменной Hive array будут изменены, чтобы начать отсчет с нуля, в то время как литеральные ключи не будут затронуты
Пример:
поглощать
Объединить массив с переменной массива улья
Возвращает результирующий массив слияния. (Не касается значения ключа улья)
Пример:
Если параметр $keep
имеет значение TRUE, источник $key
в улье также обновляется.
расширять
Расширение переменной массива hive со значениями по умолчанию из $src
Этот метод предоставляет простой способ добавить некоторые значения по умолчанию в массив:
Если параметр $keep
имеет значение TRUE, источник $key
в улье также обновляется.
Кодирование И Преобразование
fixslashes
Преобразование обратной косой черты в косую черту
Использование:
расщеплять
Разделенная запятая, точка с запятой или разделенная трубой строка
Использование:
NB: по умолчанию пустые значения отфильтровываются. Установите $noempty
значение FALSE, чтобы предотвратить такое поведение.
stringify
Преобразование PHP-выражения/значения в сжатую экспортируемую строку
Эта функция позволяет преобразовать любое выражение PHP, значение, массив или любой объект в сжатую и экспортируемую строку.
Этот $detail
параметр определяет, следует ли рекурсивно входить во вложенные объекты или нет.
Пример с простым 2D массивом:
csv
Сглаживайте значения массива и возвращайте их в виде строки CSV
Использование:
верблюжий футляр
Преобразование строки snake_case в camelCase
Использование:
змеиная кожа
Преобразование строки camelCase в snake_case
Использование:
знак
Возвращает -1, если указанное число отрицательно, 0, если ноль, или 1, если число положительное
гашиш
Генерация 64-битного/базового хэша 36
Генерирует хэш для заданной строки (длина от 11 до 13)
Пример:
base64
Возврат эквивалента в кодировке Base64
Пример:
зашифровать
Преобразование специальных символов в HTML-объекты
Кодирует такие символы, как & < >
и другие символы, основываясь на настройках кодирования ваших приложений. (по умолчанию: UTF-8)
Пример:
расшифровывать
Преобразование специальных HTML-сущностей обратно в символы
Пример:
чистый
Удалите HTML-теги (кроме перечисленных) и непечатаемые символы, чтобы смягчить атаки XSS / code injection
$var
может быть либо аstring
, либо Ан array
. В последнем случае он будет рекурсивно пройден, чтобы очистить каждый элемент.
$tags
определяет список (в соответствии с синтаксисом разделения) разрешенных html-тегов, которые не будут удалены.Совет: рекомендуется использовать эту функцию для дезинфекции введенных формуляров.
Примеры:
скраб
Аналогично clean (), за исключением того, что переменная передается по ссылке
Пример:
сериализовать
Возвращаемое строковое представление значения PHP
В зависимости от системной переменной сериализатора этот метод преобразует что-либо в переносимое строковое выражение. Возможные значения-igbinary и php. F3 проверяет при запуске, доступен ли igbinary, и определяет его приоритетность, так как расширение igbinary работает намного быстрее и использует меньше дискового пространства для сериализации. Проверьте igbinary на github.
несериализовать
Возвращает значение PHP, полученное из строки
См. раздел сериализация для дальнейшего описания.
Локализация
Примечание: F3 следует правилам форматирования ICU , не требуя наличия модуля PHP intl.
формат
Возвращаемая форматированная строка с учетом локали
$format
Строка содержит один или несколько заполнителей, идентифицируемых индексом позиции, заключенным в фигурные скобки, причем начальный индекс равен 0. Заполнители заменяются значениями предоставленных аргументов.
Форматирование может стать более точным, если ожидаемый тип указан в заполнителях.
В настоящее время поддерживаются следующие типы:
Дата
дата, короткая
дата, длинная
дата, обычай, {exp}
время
время, короткое
время, обычай, {exp}
число, целое число
число, валюта
число, валюта, int
число, валюта, {char}
число, в процентах
число, десятичное число, {int}
множественное число, {exp}
Синтаксис множественного числа немного менее прост, так как он позволяет связать различные выходные данные в зависимости от количества входных данных.
Синтаксис множественного типа должен 0, plural,
начинаться со списка ключевых слов множественного числа, связанных с требуемым результатом. Допустимые ключевые слова: "* ноль*", " * один*", "* два * " и " *другой*".
Кроме того, вы можете вставить соответствующую цифру в выходные строки благодаря #
знаку, который будет автоматически заменен соответствующим числом, как показано в примере ниже:
Каждое ключевое слово множественного числа является необязательным, и вы можете, например, опустить ключевое слово множественного числа "два", если "другой" подходит для этого случая. Конечно, если вы опустите их все, то будут отображаться только цифры. Как правило, держите хотя бы ключевое слово "другое" во множественном числе в качестве запасного варианта.
Автоматическое форматирование переменных ульяПриятно помнить: F3, для вашего удобства и для того, чтобы чрезвычайно облегчить использование форматирования в ваших шаблонах, вы можете извлекать и форматировать переменные из улья с помощью одной команды:
Пример:
язык
Назначение / автоматическое определение языка
Эта функция используется при загрузке фреймворка для автоматического определения возможного языка пользователя, просматривая заголовки HTTP-запросов, в частности заголовок Accept-Language, отправляемый браузером.
Используйте системную переменную LANGUAGE для получения и установки языков, так как она также обрабатывает зависимости, такие как установка локалей с помощью php setlocale(LC_ALL,...) и изменение файлов словаря. Резервная системная переменная определяет язык по умолчанию, который будет использоваться, если ни один из обнаруженных языков не доступен в виде файла словаря.
Пример:
Языковая переменная принимает тот же тип строки, что и заголовок HTTP Accept-Language, который представляет собой разделенный запятыми список 2-буквенных кодов языков, за которыми, возможно, следуют дефис и 2-буквенный код страны. NB: несмотря на то, что локали POSIX используют подчеркивание в качестве разделителя (es_BR.UTF-8), вы должны определить переменную языка с дефисом (es-BR). Файлы словарей следуют тому же правилу (es-BR.php / es-BR.ini).
Язык системы
Чтобы гарантировать, что метод format и другие функции php, ориентированные на локализацию, работают так, как ожидалось, эта функция автоматически загружает системную локализацию. Например:
Еще несколько примеров:
NB: загружается первая локаль, найденная на сервере. Убедитесь, что на вашем сервере установлены все локали, которые вы хотите поддерживать в своем приложении. На большинстве машин linux вы можете проверить это с помощью locale -a
и установить новые локали dpkg-reconfigure locales
. Некоторые конфигурации веб-серверов apache, возможно, нуждаются в перезапуске после этого, чтобы работать с новыми локалями.
лексикон
Перенос записей лексикона в улей
Эта функция используется при загрузке фреймворка для автоматической загрузки файлов словаря, расположенных в пределах определенного пути в LOCALES
var.
Файл словаря может быть php-файлом, возвращающим парный ассоциативный массив ключ-значение, или an .конфигурационный файл в формате ini-style. Ознакомьтесь с руководством по языковым файлам здесь.
Маршрутизация
псевдоним
Соберите url-адрес из псевдонима
Пример:
строить
Замените маркированный URL-адрес значениями токенов текущего маршрута
Пример:
Если вы хотите конкретно определить маркеры в данном $url
случае , вы можете использовать $params
аргумент для этого:
издеваться
Имитация HTTP-запроса
Это эмулирует HTTP-запрос, основанный на глаголе и ресурсе, определенном$pattern
.
$args
экспортируется как глобальная переменная соответствующего глагола ($_GET
,$_POST
или$_REQUEST
)$headers
экспортируется как глобальные HTTP заголовки ($_SERVER[HTTP_…]
)Тело HTTP-запроса
$body
экспортируется какBODY
переменная улья для глаголов, не равныхGET
orHEAD
. If$body
не определен,$args
получает URL-кодировку и экспортируется какBODY
Добавление
[ajax]
к$pattern
издевательствам над вызовами AJAXДобавление
[sync]
к$pattern
издевательствам обычных (синхронных) вызововДобавление
[cli]
к$pattern
вызовам командной строки mocks (CLI)Именованные маршруты и токены являются допустимыми ресурсами
Базовый пример использования:
Базовый пример использования с именованным маршрутом и токеном:
Модульный тест как пример расширенного использования:
разбор
Проанализируйте строку, содержащую пары ключ-значение, и используйте их в качестве маркеров маршрутизации
Пример:
маршрут
Привязать шаблон маршрута к заданному обработчику
Базовый пример использования:
Схема Маршрута
$pattern
Var описывает шаблон маршрута, состоящий из типа запроса и URI запроса, разделенных пробелом char.
Глаголы
Возможные определения типа запроса (глагола), которые будет обрабатывать F3 , следующие: GET, POST, PUT, DELETE, HEAD, PATCH, CONNECT.
Вы можете объединить несколько глаголов, чтобы использовать один и тот же обработчик маршрута для всех них. Просто разделите их обуглившейся трубой, например GET|POST
.
Жетоны
URI запроса может содержать один или несколько маркеров, предназначенных для определения динамических маршрутов. Маркеры обозначаются @
символом перед их именем и могут быть дополнительно заключены в одиночные фигурные скобки { }
. Смотрите эти примеры:
После обработки URI входящего запроса (инициированного run) вы найдете значение каждого из этих токенов в PARAMS
системной переменной в виде именованного ключа, например $f3->get('PARAMS.file')
. /- Марио.jpg'Обратите внимание: маршруты и соответствующие им глаголы сгруппированы по их шаблону URL. Статические маршруты предшествуют маршрутам с динамическими маркерами или подстановочными знаками.
Подстановочный знак
Вы также можете определить подстановочные знаки (/*
) в вашем URI маршрутизации. Кроме того, вы можете использовать их в сочетании с @
токенами.
Обратите внимание: var` PARAMS ' содержит все токены в виде именованного ключа, а также все токены и подстановочные знаки в виде числового ключа, в зависимости от их порядка появления.
Приведенный выше маршрут также работает с подкатегориями. Просто позвонить /path/cat/subcat/page1
Он даже работает с некоторыми другими подуровнями. Вам просто нужно разнести это значение с /
помощью разделителя-для обработки ваших подкатегорий. Что-то вроде /path/*/@pagetitle/@pagenum
этого тоже довольно просто.
Это становится сложным, когда вы пытаетесь использовать более одного подстановочного знака, потому что только первый /*
подстановочный знак может содержать неограниченные сегменты пути. Любые дальнейшие подстановочные знаки могут содержать только одну часть между косыми чертами (/
). Так что постарайтесь, чтобы все было просто.
Группы
Можно назначить несколько маршрутов одному и тому же обработчику маршрутов, используя массив маршрутов внутри $pattern
. Это будет выглядеть так:
Именованные Маршруты
Так F3 v3.2.0
как вы также можете присвоить имя своим маршрутам. Поэтому следуйте этой схеме:
Имена вставляются после глагола маршрута и предваряются символом@. Все именованные маршруты могут быть доступны системной переменной ALIASES для дальнейшей обработки в шаблонах или для перенаправления. Дополнительную информацию см. В руководстве пользователя по созданию именованных маршрутов.
Кроме того вы можете использовать существующее имя маршрута для сокращения дополнительных определений маршрута:
обработчик маршрута
Это может быть вызываемый метод класса, например 'Foo->bar' или 'Foo::bar', имя функции или анонимная функция.
F3 автоматически передает экземпляр фреймворка и маркеры маршрута классам контроллеров обработчиков маршрутов. Например:
Кэширование
3-й аргумент $ttl
определяет время кэширования в секундах. Установка этого аргумента в положительное значение вызовет функцию expire для установки метаданных кэша в заголовке HTTP-ответа. Он также кэширует ответ маршрута, но кэшируются только запросы GET и HEAD.
Если CACHE
он выключен,$ttl
то будет управлять кэшем браузера только с помощью метаданных заголовка expire. Если CACHE
он включен и $ttl
для текущего обработчика URI запроса установлено положительное значение, F3 дополнительно кэширует выходные данные для этой страницы и обновляет их по $ttl
истечении срока действия. Подробнее об этом читайте здесь и здесь.
Дросселирование Полосы Пропускания
Установите 4-й аргумент $kbps
на желаемое ограничение скорости, чтобы включить дросселирование. Подробнее об этом читайте в руководстве пользователя.
переадресовать
Перенаправление на указанный URI
Пример использования:
Когда $url
это массив, он используется для перенаправления псевдонимов. Вы можете указать имя псевдонима в 1-м элементе массива, его параметры во 2-м и дополнительные элементы запроса в качестве 3-го элемента массива:
Этот $die
параметр можно использовать для отключения немедленного перенаправления, вместо этого скрипт продолжает работу после установки соответствующих заголовков. Это может быть полезно для модульного тестирования.
перенаправлять
Перенаправление маршрута на другой URL-адрес
Это небольшой метод быстрого доступа между методами route и reroute к определенным маршрутам, которые просто предназначены для перенаправления клиента. $pattern
Аргумент принимает те же значения, что и метод маршрута. Ибо $url
вы можете использовать все, что также будет принято в соответствующем аргументе метода reroute.
Пример использования:
Это также можно настроить в файлах конфигурации в пределах [redirects]
раздела.
Карта
Предоставьте интерфейс ReST путем сопоставления команды HTTP методу класса
Его синтаксис работает немного похоже на функцию маршрута, но вам не нужно определять метод HTTP-запроса в 1-м аргументе, потому что они сопоставляются как функции в классе, который вы продуцируете в $class
аргументе. Подробнее о поддержке REST читайте в руководстве пользователя.
Пример использования:
бежать
Сопоставьте маршруты с входящим URI и вызовите их обработчик маршрутов
Пример использования:
После обработки URI входящего запроса шаблон маршрутизации, соответствующий этому URI, сохраняется в PATTERN
var, текущий URI HTTP-запроса-в URI
var, а метод запроса-в VERB
var. PARAMS
Var будет содержать все маркеры в виде именованных ключей, а также все маркеры и подстановочные знаки в виде цифровых ключей, в зависимости от их порядка появления.
Генерируйте ошибку 404, когда маркированный класс не существует.
Обратите внимание: если статический и динамический шаблон маршрута совпадают с текущим URI, то статический шаблон маршрута имеет приоритет.
вызов
Выполнить обратный вызов/крючки (поддерживает формат 'class - >method' )
Этот метод предоставляет возможность вызывать обратные вызовы и их аргументы. F3 распознает их как допустимые обратные вызовы:
Анонимные / лямбда-функции (они же замыкания)
array('class','method')
class::method
статический методclass->method
эквивалентныйarray(new class,method)
$args
if specified предоставляет средство выполнения обратного вызова с параметрами.
$hooks
используется route()
методом для указания функций до и после выполненияbeforeroute()
, т. е.afterroute()
(см. раздел обработчики событий для получения дополнительных объяснений beforeroute()
иafterroute()
)
цепь
Выполните указанные обратные вызовы последовательно; примените одни и те же аргументы ко всем обратным вызовам
Этот метод вызывает несколько обратных вызовов подряд:
реле
Выполнить указанные обратные вызовы последовательно; ретранслировать результат предыдущего обратного вызова в качестве аргумента следующему обратному вызову
Этот метод вызывает обратный вызов последовательно, как цепочка, но применяет результат первой функции в качестве аргумента последующей функции, т. е.:
файловая система
Копировать
Нативная функция PHP
Чтобы скопировать файл, используйте собственную copy()
функцию PHP. Показано здесь для удобства.
удалить (unlink)
Нативная функция PHP
Чтобы удалить файл, используйте собственную unlink()
функцию PHP. Показано здесь для удобства.
переместить (переименовать с помощью diff path)
Нативная функция PHP
Чтобы переместить файл, используйте собственную rename()
функцию PHP, меняющую путь во втором аргументе. Показано здесь для удобства.
взаимное исключение
Создайте мьютекс, вызовите обратный вызов, а затем отбросьте владение, когда закончите
Взаимное исключение (мьютекс)-это кросс-платформенный механизм синхронизации доступа к ресурсам таким образом, что процесс, получивший мьютекс, получает эксклюзивный доступ к ресурсу. Другие процессы, пытающиеся получить тот же мьютекс, будут находиться в приостановленном состоянии до тех пор, пока мьютекс не будет освобожден.
Аргументы могут быть переданы в обратный вызов:
Читать
Read file (с возможностью применения Unix LF в качестве стандартного окончания строки)
Использует функцию file_get_contents()
PHP для чтения всего $file
текста и возврата его в виде строки. Возврат FALSE
после неудачи.
Если $lf
естьTRUE
, то преобразование EOL в формат UNIX LF выполняется для всех оканчивающихся строк.
выпуск
Обратный путь относительно базового каталога
Пример:
переименовать
Нативная функция PHP
Чтобы переименовать файл, используйте встроенную rename()
функцию PHP. Показано здесь для удобства.
писать
Эксклюзивная запись файла
Использует функцию file_put_contents()
PHP с флагом LOCK_EX
PHP для получения эксклюзивной блокировки файла при переходе к записи.
Если $append
есть TRUE
и $file
уже завершается, $data
то он добавляется к содержимому файла вместо того, чтобы перезаписывать его.
Разное
пример
Возвращаемый экземпляр класса
Это используется для захвата экземпляра фреймворка в любой точке кода.
выкинуть
Отключить HTTP-клиент
Этот метод может быть удобен для прерывания соединения с клиентом и отправки ему текущего ответа, но на самом деле продолжить выполнение скрипта после этого момента для выполнения трудоемких задач, таких как отправка SMTP-почты или генерация больших PDF-файлов без каких-либо задержек для клиента.
блокированный
Поиск IP-адреса посетителя по общим службам черного списка DNS
Эта функция вызывается во время начальной загрузки приложения и будет искать IP-адрес посетителей по общим службам черного списка DNS, определенным системной переменной DNSBL. Это очень полезно для защиты вашего приложения от спам-ботов или DOS-атак.
Return TRUE
если IPv4 $ip
адрес присутствует в DNSBL
компилировать
Преобразование токена JS-стиля в PHP-выражение
Этот метод в основном используется классом предварительного просмотра, облегченным шаблонизатором шаблонов, для преобразования токенов в переменные.
Пример:
конфиг
Настройте фреймворк в соответствии с .настройки файла в стиле ini
Это позволит проанализировать конфигурационный файл, предоставленный фреймворком, $file
и настроить его с помощью переменных и маршрутов. Если указан 2-й аргумент$allow
, строки шаблона интерпретируются, что делает возможными динамические конфигурации:
Смотрите раздел руководства пользователя о файлах конфигурации, чтобы получить полное описание того, как настроить ваш ini-файл.
константы
Преобразование констант класса в массив
Пример, при условии, что у нас есть Foo\Bar
класс, определенный следующим образом:
вы можете получить доступ ко всем константам с префиксомSTATUS_
:
NB: передача объекта также работает: $f3->constants($bar,'STATUS_')
.
свалка
Выражение Dump (_echo_) с подсветкой синтаксиса
Обратите внимание: подсветка синтаксиса зависит от уровня отладки.
ошибка
Выполнить обработчик ошибок
Вызов этой функции регистрирует ошибку и выполняет обработчик ONERROR, если он определен. В противном случае он будет отображать страницу ошибок по умолчанию в HTML для синхронных запросов или выдавать строку JSON для AJAX-запросов.
истекать
Отправка метаданных кэша на HTTP-клиент
Нет необходимости вызывать этот метод напрямую, поскольку он автоматически вызывается фреймворком во время выполнения, в зависимости от того, следует ли кэшировать страницу или нет. Фреймворк отправляет необходимые заголовки управления http-кэшем в браузер, так что вам не нужно отправлять их самостоятельно.
выделить
Применить подсветку синтаксиса
Применяет подсветку синтаксиса к заданной строке и возвращает выделенную строку.
Пример:
ВОЗВРАТ:
Имейте в виду, что вам нужен "код".таблица стилей css позволяет правильно видеть подсветку синтаксиса на страницах Вашего браузера. Вы можете включить его в свои страницы с помощьюcss "rel=" таблица стилей " / > (код.css упаковывается в папку framework ' lib/' )
Статус
Отправить заголовок состояния HTTP / 1.1; вернуть текстовый эквивалент кода состояния
Используйте этот метод для отправки клиенту различных сообщений о состоянии HTTP, например
разгружать
Выполнение последовательности завершения работы фреймворка/приложения
Во-первых , изменяет текущий каталог PHP на каталог$cwd
, записывает данные сеанса и завершает сеанс вызовом функции session_commit()
PHP.
Затем он завершает работу приложения и вызывает обработчик завершения работы, определенный в UNLOAD.
В качестве окончательного запасного варианта возникает ошибка HTTP, 500
если одно из следующих E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR
действий обнаружено и не обработано обработчиком завершения работы.
рекурсивный
Рекурсивно вызывать обратный вызов для всех типов данных
Рекурсивный метод берет ваш смешанный $arg
и применяет $func
обратный вызов к любому значению глубокого вложенного массива или свойству объекта, которое может быть найдено, и возвращает копию $arg
. Вот небольшой пример:
Обратите внимание: для вызова обратного вызова `$func` на объектах `PHP >= 5.4` требуется. В противном случае объекты возвращаются без дальнейшей обработки. Пожалуйста, имейте в виду, что возвращаемые объекты являются клонами, и обратный вызов применяется только к доступным нестатическим свойствам.
до тех пор
Цикл до тех пор, пока обратный вызов не вернет TRUE (для длительного опроса)
Обратный $func
вызов вызывается один раз в секунду с аргументом $args
до тех пор, пока одно из следующих условий не завершит цикл:
HTTP-клиент отключается
Тайм-аут через
$timeout
несколько секундТайм-аут за одну секунду до достижения настроенного PHP
max_execution_time
Повторное открытие сеанса завершается неудачей
Обратный
$func
вызов возвращает значение boolean casted равноеtrue
F3 закрывает сеанс после и снова открывает сеанс перед вызовом обратного $func
вызова, чтобы предотвратить блокировку сеанса, которая в противном случае блокировала бы одновременные запросы с одним и тем же сеансом.Обратите внимание: `$timeout` ограничен конфигурацией PHP `max_execution_time`.
Last updated