S
Size: a a a
S
A
a
mixed|null|Namespaced\TestClass|\NameSpaced\Class|iterable<TestClass>|TestClass[]|iterable<iterable<TestClass>>|string
$types = preg_replace_callback(
"/(\\?[a-zA-Z]+_*\\?)+/i",
function($match) use ($classMap) {
return $classMap[$match[0]];
},
$types
);
a
|
*a
СК
/(?P<full_class_name>(?P<namespace>\\?(?:[A-Z][A-Za-z0-9_]*\\)*)(?P<classname>[A-Z][A-Za-z0-9_]*))/
a
/(?P<full_class_name>(?P<namespace>\\?(?:[A-Z][A-Za-z0-9_]*\\)*)(?P<classname>[A-Z][A-Za-z0-9_]*))/
СК
namespace
и classname
, то разименуй группы (?P<...>
на ?:
), так регулярка хорошенько облегчитсяTC
TC
TC
TC
СК
a
**/ @var Long\Namespaced\DTO */
public $field;
a
СК
mixed
и возможности перечислять типы позволит делать костыли на базовые типы типа Map
=> Map<string|int, mixed>
a
mixed
и возможности перечислять типы позволит делать костыли на базовые типы типа Map
=> Map<string|int, mixed>
СК
a
A