Giter Site home page Giter Site logo

php-type-checker's Introduction

#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');
});

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.