ocramius / optional
1.0.0
2019-03-12 10:02 UTC
Requires
- php: ^7.3
Requires (Dev)
- doctrine/coding-standard: ^5.0
- infection/infection: ^0.12.2
- phpunit/phpunit: ^8.0.4
- squizlabs/php_codesniffer: ^3.4.0
- vimeo/psalm: ^3.1
- dev-master
- 1.0.0
- dev-dependabot/composer/phpunit/phpunit-tw-9.5.8
- dev-dependabot/composer/vimeo/psalm-tw-4.9
- dev-dependabot/composer/doctrine/coding-standard-tw-9.0
- dev-dependabot/composer/squizlabs/php_codesniffer-tw-3.6.0
- dev-dependabot/composer/infection/infection-tw-0.21.5
- dev-dependabot/add-v2-config-file
This package is auto-updated.
Last update: 2021-09-19 03:48:45 UTC
README
本包是OpenJDK库中java.util.Optional
类的PHP移植。
目前由Niklas Schöllhorn维护,接管于2019年3月3日
您可以在Java 8 API文档中找到java.lang.Optional
的API。
安装
composer require ocramius/optional
与Java实现的差异
由于PHP当前的局限性,我不得不按照以下方式重写Java实现的一些部分
Optional#empty()
被命名为Optional#newEmpty()
,因为empty
是PHP的保留关键字- 类型安全在任何时候都不能保证:泛型已被从
Optional
实现中删除。这可能在将来改变,但我目前没有计划这么做。 Optional#toString()
被命名为Optional#__toString()
,以符合PHP魔术方法命名Consumer
、Predicate
、Function
和Supplier
参数简单地被定义为callable
,以保持简单和灵活性。
许可
由于这个库是OpenJDK源的直接移植,我必须保留原始许可,即GPLv2 + ClassPath异常。