Набор хелперов, используемых в фреймворке.
Для фильтрации входных данных от пользователя необходимо проверять их допустимость и корректность. Для фильтрации используются два метода:
Filter::Value(&$val, $filter = null, $default = false)
Filter::Arr($array, $filter = null, $default = array())
Параметр $filter
может быть callable, regexp (регулярное выражение) или массив с допустимыми значениями.
Если значения не проходит по фильтру возвращается $default.
Для массивов фильтр работает несколько иначе, если часть значений массива не проходит фильтр, в выходном массиве эти значения убираются. Если после "чистки" значений не осталось - возвращается $default.
В фильтр значение передается по ссылке, т.е. при необходимости внутри фильтра-callable можно изменять значение.
Базовый класс Container реализует набор стандартных методов для работы с переменными внутри объекта, а также реализует интерфейс ArrayAccess:
get($name, $default = false)
set($name, $value)
has($name)
append($name, $value)
- добавить значение в конец строки или массиваprepend($name, $value)
- добавить значение в начало строки или массиваtoArray()
- выгрузить значения в массивfromArray(array $array, $clear = false)
- загрузить значения из массива
Набор хелперов для работы с русским языком.
Позволяет склонять строку, в зависимости от количества.
Russian::Plural($num, 'лошадь', 'лошади', 'лошадей');
// $num = 1: лошадь
// $num = 3: лошади
// $num = 5: лошадей
В качестве строки для количества можно указывать шаблон sprintf для подстановки значения непосредственно в строку:
Russian::Plural($num, '%s лошадь', '%03d лошади', '%01.2f лошадей')
// $num = 1: 1 лошадь
// $num = 3: 003 лошади
// $num = 5: 5.00 лошадей
Набор методов, использующих функцию strftime
для форматирования даты с учетом текущей локали.
Для установки глобальной локали можно использовать метод Russian::SetLocale()
.
Конкретное отображение зависит от настроек системы!
Russian::DateFormat('%e %B %Y - %A', '01.01.2014'); // 1 января 2014 - среда
Russian::Date('12.01.2015'); // 12 января 2015
Russian::Date('12.01.2015 12:45', true); // 12 января 2015 12:45
Russian::DateShort('12.04.2015'); // 12 апр 2015
Russian::DateShort('12.04.2015 12:45', true); // 12 апр 2015 12:45
Russian::Month('12.04.2015'); // апрель
Russian::Month('12.04.2015', true); // апр
Russian::DayOfWeek('12.04.2015'); // воскресенье
Russian::DayOfWeek('12.04.2015', true); // вс