定制 new-inventor/php-type-checker 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

new-inventor/php-type-checker

Composer 安装命令:

composer require new-inventor/php-type-checker

包简介

Type checker for base types or list of types or arrays

README 文档

README

#PHP type checker

Проверяет совпадение типа переменной с указанными типами. Может бросить исключение если необходимо.

##Установка

через composer

composer require new-inventor/php-type-checker

##Принцип работы

Вызываем статический метод TypeChecker::check($value)

Теперь можно проверять типы.

Простые типы:

  • array
  • bool
  • callable
  • float
  • int
  • null
  • numeric
  • object
  • resource
  • scalar
  • string

Для проверки простых типов необходимо сделать следующее:

TypeChecker::check($value)->tint()->tstring()->fail() или TypeChecker::check($value)->tint()->tstring()->result()

  • метод fail() предназначен для бросания исключения(TPMailSender\TypeChecker\Exception\TypeException)
  • метод result() предназначен для возвращения результата проверки

Если надо проверить элементы параметра-массива то необходимо вызвать метод inner() и после него определять типы. Можно не вызывать функцию tarray() перед вызовом метода inner()

TypeChecker::check($value)->tstring()->tarray()->tint()->inner()->tint()->tstring()->result() проверка внутренних элементов будет происходить, только если параметр является массивом.

Для проверки типов объектов вызвается метод types() в параметрах которого перечисляются полные имена типов

TypeChecker::check($value)->types(MyClass::class, MyAnotherClass::class)

если нужна более сложная проверка то используйте метод callback(callable $callback)

self::param()->tint()->tfloat()->tstring()->callback(function ($value){
    return is_object($value) && method_exists($value, '__toString');
});

统计信息

  • 总下载量: 498
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 6
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-04-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固