Download the PHP package extended-type-system/type without Composer
On this page you can find all versions of the php package extended-type-system/type. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package type
Typhoon Type
Typhoon Type is an object abstraction over the modern PHP type system. Use this library to build tools that work with sophisticated types:
Installation
Printing types
To print any type, use stringify():
Supported types
Native
| Typhoon | Native |
|---|---|
nullT |
null |
voidT |
void |
neverT |
never |
falseT |
false |
trueT |
true |
boolT |
bool |
intT |
int |
floatT |
float |
stringT |
string |
arrayT |
array |
objectT |
object |
objectT(Foo::class) |
Foo |
selfT |
self |
parentT |
parent |
staticT |
static |
iterableT |
iterable |
callableT |
callable |
resourceT |
resource |
nullOrT(stringT) |
?string |
unionT(intT, stringT) |
int\|string |
intersectionT(objectT(Countable::class), objectT(Traversable::class)) |
Countable&Traversable |
mixedT |
mixed |
PHPDoc numbers
| Typhoon | PHPDoc |
|---|---|
intT(123) |
123 |
positiveIntT |
positive-int |
negativeIntT |
negative-int |
nonPositiveIntT |
non-positive-int |
nonNegativeIntT |
non-negative-int |
nonZeroIntT |
non-zero-int |
intRangeT(-5, 6) |
int<-5, 6> |
intRangeT(max: 6) |
int<min, 6> |
intRangeT(min: -5) |
int<-5, max> |
intMaskT(1, 2, 4) |
int-mask<1, 2, 4> |
intMaskT(classConstantMaskT(Foo::class, 'INT_*') |
int-mask-of<Foo::INT_*> |
floatT(12.5) |
12.5 |
floatRangeT(-0.001, 2.344) |
float<-0.001, 2.344> |
PHPDoc strings
| Typhoon | PHPDoc |
|---|---|
nonEmptyStringT |
non-empty-string |
truthyStringT, nonFalsyStringT |
truthy-string, non-falsy-string |
numericStringT |
numeric-string |
lowercaseString |
lowercase-string |
stringT('abc') |
'abc' |
classT(Foo::class), classStringT(Foo::class), classT(objectT(Foo::class)) |
class-string<Foo> |
stringT(Foo::class), classConstantT(Foo::class, 'class') |
Foo::class |
literalStringT |
literal-string |
PHPDoc constants
| Typhoon | PHPDoc |
|---|---|
constantT('PHP_INT_MAX') |
PHP_INT_MAX |
constantMaskT('JSON_*') |
JSON_* |
classConstantT(Foo::class, 'BAR') |
Foo::BAR |
classConstantMaskT(Foo::class, 'IS_*') |
Foo::IS_* |
PHPDoc arrays and iterables
| Typhoon | PHPDoc |
|---|---|
arrayT(value: objectT(Foo::class)) |
Foo[] |
listT(stringT) |
list<string> |
nonEmptyListT(stringT) |
non-empty-list<string> |
listShapeT([intT, stringT]) |
list{int, string} |
arrayShapeT([intT, optional(stringT)]) |
list{int, 1?: string} |
unsealedListShapeT([intT]) |
list{int, ...} |
unsealedListShapeT([intT], stringT) |
list{int, ...<string>} |
arrayT(value: stringT) |
array<string> |
arrayT(intT, stringT) |
array<int, string> |
nonEmptyArrayT(arrayKeyT, stringT) |
non-empty-array<array-key, string> |
arrayShapeT() |
array{} |
arrayShapeT([intT, stringT]) |
array{int, string} |
arrayShapeT([intT, 'a' => optional(stringT)]) |
array{int, a?: string} |
unsealedArrayShapeT([intT]) |
array{int, ...} |
unsealedArrayShapeT([floatT], intT, stringT) |
array{float, ...<int, string>} |
keyOfT(classConstantT(Foo::class, 'ARRAY')) |
key-of<Foo::ARRAY> |
valueOfT(classConstantT(Foo::class, 'ARRAY')) |
value-of<Foo::ARRAY> |
offsetT($TArray->type, $TKey->type) |
TArray[TKey] |
iterableT(objectT, stringT) |
iterable<object, string> |
iterableT(value: stringT) |
iterable<string> |
PHPDoc objects
| Typhoon | PHPDoc |
|---|---|
objectT(Foo::class, [stringT, floatT]) |
Foo<string, float> |
selfT([stringT, floatT]) |
self<string, float> |
parentT([stringT, floatT]) |
parent<string, float> |
staticT([stringT, floatT]) |
static<string, float> |
objectShapeT(['prop' => stringT]) |
object{prop: string} |
objectShapeT(['prop' => optional(stringT))]) |
object{prop?: string} |
PHPDoc callables
| Typhoon | PHPDoc |
|---|---|
callableT([stringT], voidT) |
callable(string): void |
callableT([param(stringT, default: true)]) |
callable(string=): mixed |
callableT([param(stringT, variadic: true)]) |
callable(string...): mixed |
callableT([param(stringT, byRef: true)]) |
callable(string&): mixed |
closureT([stringT], voidT) |
Closure(string): void |
closureT([param(stringT, default: true)]) |
Closure(string=): mixed |
closureT([param(stringT, variadic: true)]) |
Closure(string...): mixed |
closureT([param(stringT, byRef: true)]) |
Closure(string&): mixed |
Union aliases
| Typhoon | PHPDoc |
|---|---|
array-key |
arrayKeyT |
numericT |
numeric |
scalarT |
scalar |
All versions of type with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.3
The package extended-type-system/type contains the following files
Loading the files please wait ...