laravelfy / optional
Optional, inspired by laravel's optional object
v0.1
2018-11-01 09:19 UTC
Requires
- php: >5.4
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-10-29 05:16:45 UTC
README
一个由 laravel optional 启发的扩展
使用
composer require laravelfy/optional
<?php optional2($obj)->function(); optional2($obj)->property->next_property;
原理
- 当尝试获取 optional2 返回对象的属性时,不论取得与否,均返回一个新的 optional2 对象,保证链式操作不报错。
- 当尝试调用 optional2 返回的对象的方法时,不论执行成功与否,均返回新的 optional2 对象(成功的话对象的 storage 为执行结果)。
已知问题
- 不要在将 optional2 应用于
if
等条件判断。因为 optional2 返回的是个递归对象,无法替代 bool。 - 不要讲 optional2 直接使用于数字运算。
License
MIT