Download the PHP package slexx/pattern without Composer
On this page you can find all versions of the php package slexx/pattern. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package pattern
Pattern
Установка
Базовое использование
Это новый язык шаблонов схожий с регулярными выражениями, но значительно проще. Основной класс имеет всего несколько методов, а сам язык прост как валенок. Компилируется в регулярное выражение.
Пример шаблона:
Он компилируется в следующее регулярное выражение:
Первый вариант намного легче читается и сним проще работать.
Пример использования:
Документация
Текст
В любом тексте который не является синтаксической единицой языка, будут экранированы все символы регулярных выражений.
Правило | Регулярное выражение |
---|---|
users/<id>/ |
/^users\/(?P<id>.+)\/$/ |
Не обязательное
Всё не обязательное, то чо может осуцтвовать в тексте по тем или иным присинам можно просто обнести квадратными скобками.
Правило | Регулярное выражение |
---|---|
foo[|bar] |
/^foo(?:\|bar)?$/ |
Параметры
Параметры обносятся знаком меньше слева и знаком больше справа, их можно использовать для того что бы найти какуюто часть текста.
Правило | Регулярное выражение |
---|---|
users/<id>/<action> |
/^users\/(?P<id>.+)\/(?P<action>.+)(?:\/)?$/ |
Правила
В параметре через двоеточие можно указать имя правила для валидации параметра или регулярное выражение.
Правило | Регулярное выражение |
---|---|
/users/<id:int>/ |
/^\/users\/(?P<id>[1-9][0-9]*|0)\/$/ |
<year:\d{4}>-<month:\d{2}> |
/^(?P<year>\d{4})-(?P<month>\d{2})$/ |
Установка правил
Для установки правила можно воспользоватся методом rule
в котором первый аргумент
имя параметра, а второй регулярное выражение.
Стандартные правила
Для удобства уже реализовано несколько правил, вот их список:
Правило | Псевдоним | Регулярное выражение |
---|---|---|
integer | int | [1-9][0-9]*|0 |
float | double | (?:[1-9][0-9]*|0)\.[0-9]* |
number | (?:[1-9][0-9]*|0)(?:\.[0-9]*)? |
|
string | (?:.|[^.])+ |
|
boolean | bool | true|false|0|1|on|off |
word | \w+ |
|
slug | [\w\d_\-]+ |
Правило по умолчанию
Если не указывать правило то будет использовано следующее регулярное выражение: .+
.
Приведение типов
Для некоторых стандартных правил работает приведение типов:
- int, integer
- float, double
- bool, boolean
Для все остальных случаев возвращается строка.
Значения по умолчанию
Для типа boolean
по умолчанию возвращается false
, для всех остальных null
. Значение по умолчанию можно указать с помощью метода default
где первым аргументом следует имя параметра, а вторым значение по умолчанию.
Проверка
Для проверки текста на соотвецтвие шаблону есть иетод is
, он принимает строку
первым параметром и возвращает boolean
.