inteve / types
Value objects and helpers for PHP.
Fund package maintenance!
Other
Installs: 6 602
Dependents: 2
Suggesters: 1
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.2.0
- czproject/assert: ^1.2
- nette/utils: ^3.0 || ^4.0
Requires (Dev)
- nette/tester: ^2.0
README
Value objects and helpers for PHP.
Installation
Download a latest package or use Composer:
composer require inteve/types
Inteve\Types requires PHP 7.2.0 or later.
Usage
- 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')
It implements Nette\Utils\IHtmlString
so can be used directly in Latte template ({$html}
) without |noescape
modifier.
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
You can use static factories:
$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'));
It implements 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
You can use static factories:
$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'));
It implements Inteve\Types\IPhpParameterType
.
Url
use Inteve\Types\Url; $url = new Url('https://example.com/page'); $url->getUrl(); (string) $url; // alias for getUrl()
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/