FFCMS Wiki

Официальная документация разработчика и администратора

Инструменты пользователя

Инструменты сайта


helper:type:object

Помощник (хэлпер) Obj (sym - Object)

Помощник Obj (см. Ffcms\Core\Helper\Type\Obj) предназначен для работы с переменными неизвестного типа. Большинство методов данного класса предназначены для определения принадлежности переменной к тому или иному типу. Все методы класса являются статичными и могут быть вызваны путем статического обращения без инициации класса:

use Ffcms\Core\Helper\Type\Obj;
 
Obj::method();
Метод Описание Пример Аналог (php)
isInt(mixed $object) Является ли текущий объект целочисленным integer. Строгая типизация. Obj::isInt($var) is_int()
isLikeInt(mixed $object) Является ли текущий объект похожим на целочисленное представление integer. Без типизации Obj::isLikeInt($var) -
isString(mixed $object) Является ли текущий объект строкой. Obj::isString($var) is_string()
isArray(mixed $object) Является ли данный объект массивным представлением. Obj::isArray($var) is_array()
isFloat(mixed $object) Является ли данный объект числом с плавающей точкой. Строгая типизация. Obj::isFloat($var) is_float()
isLikeFloat(mixed $object) Является ли данный объект представлением, походим на число с плавающей точкой. Мягкая типизация. Obj::isLikeFloat($var) -
isLikeBoolean(mixed $object) Является ли данный объект представлением, похожим на булевый тип. Отсутствие типизации. Obj::isLikeBoolean($var) -
isObject(mixed $object) Является ли анализируемая неизвестная переменная объектом Object::isObject($var) is_object()

Назначение и использование

Как и говорилось ранее, данный помощник предназначен для идентификации той или иной переменной в зависимости от ее типа (жестко заданного или размытого - «мягкого»). Как пример использования можно привести пример проверки входящих данных от пользователя, где поле формы типа checkbox принимает значение 1, или 0, как аналогичные true или false. Учитывая спецификацию стандарта передачи данных HTTP 1/1.1 не используется типизация входящих значений в POST/GET/PUT запросах, все они - строки, однако для корректной обработки необходима их валидация, чтобы исключить все возможности не специфицированного использования тех или иных возможностей формы сайта.

$checkboxValue = App::$Request->get('agree'); // same as $_POST['agree']
if (Obj::isLikeBoolean($checkboxValue)) {
    throw new SyntaxException('Bad input data');
}
helper/type/object.txt · Последние изменения: 2016/05/27 08:12 (внешнее изменение)