inteve / types
PHP 的值对象和辅助工具。
v2.0.0
2023-07-05 09:55 UTC
Requires
- php: >=7.2.0
- czproject/assert: ^1.2
- nette/utils: ^3.0 || ^4.0
Requires (Dev)
- nette/tester: ^2.0
README
PHP 的值对象和辅助工具。
安装
composer require inteve/types
Inteve\Types 需要 PHP 7.2.0 或更高版本。
使用方法
- BinaryData
- EmailAddress
- DatabaseDataType
- Decimal
- HexColor
- Html
- IpAddress
- Md5Hash
- Password
- PhpType
- PhpParameterType
- UniqueId
- Url
- UrlPath
- UrlSlug
DatabaseDataType
use Inteve\Types\DatabaseDataType; $type = new DatabaseDataType('INT', [10], ['UNSIGNED']); $type->getType(); $type->getParameters(); $type->getOptions(); $type->hasOption('UNSIGNED'); // returns TRUE $type->getOptionValue('UNSINGED'); // returns mixed|NULL
HexColor
use Inteve\Types\HexColor; $color = new HexColor('0088FF'); $color->getValue(); // returns '0088ff' $color->getCssValue(); // returns '#0088ff' // from CSS color $color = HexColor::fromCssColor('#0088ff');
Html
use Inteve\Types\Html; $html = new Html('<p>Lorem > ipsum</p>'); $html->getHtml(); (string) $html; // alias for getHtml() $html->getPlainText(); // returns text without HTML tags & entities ('Lorem > ipsum')
它实现了 Nette\Utils\IHtmlString
,因此可以直接在 Latte 模板中使用({$html}
),无需 |noescape
修饰符。
Md5Hash
use Inteve\Types\Md5Hash; $md5 = new Md5Hash($hash); $md5->getHash(); // returns $hash // from string $md5 = Md5Hash::from('Lorem ipsum dolor.'); // from file $md5 = Md5Hash::fromFile('/path/to/file');
PhpType
use Inteve\Types\PhpType; $type = new PhpType('bool'); $type->getType(); (string) $type; // alias for getType() $type->isBasicType(); // returns TRUE $type = new PhpType(PhpType::class); $type->isBasicType(); // returns FALSE
您可以使用静态工厂
$type = PhpType::arrayType(); $type = PhpType::boolType(); $type = PhpType::floatType(); $type = PhpType::intType(); $type = PhpType::stringType(); $type = PhpType::classType(PhpType::class); $type = PhpType::fromParameterType(new PhpParameterType('string'));
它实现了 Inteve\Types\IPhpParameterType
。
PhpParameterType
use Inteve\Types\PhpParameterType; $type = new PhpParameterType('bool'); $type->getType(); (string) $type; // alias for getType() $type->isBasicType(); // returns TRUE $type = new PhpParameterType(PhpParameterType::class); $type->isBasicType(); // returns FALSE
您可以使用静态工厂
$type = PhpParameterType::arrayType(); $type = PhpParameterType::boolType(); $type = PhpParameterType::floatType(); $type = PhpParameterType::intType(); $type = PhpParameterType::stringType(); $type = PhpParameterType::callableType(); $type = PhpParameterType::iterableType(); $type = PhpParameterType::selfType(); $type = PhpParameterType::objectType(); $type = PhpParameterType::classType(PhpParameterType::class); $type = PhpParameterType::fromPhpType(new PhpType('string'));
它实现了 Inteve\Types\IPhpParameterType
。
Url
use Inteve\Types\Url; $url = new Url('https://example.com/page'); $url->getUrl(); (string) $url; // alias for getUrl()
许可证: 新BSD许可证
作者: Jan Pecha, https://www.janpecha.cz/