florianeckerstorfer / get-from
对象遍历函数。
v1.0.0
2014-03-09 12:40 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~3.7
This package is auto-updated.
Last update: 2024-09-20 09:08:09 UTC
README
获取对象值的函数,无需痛苦地检查值是否isset
。灵感来源于并移植自Igor Wiedler的出色get-in数组库。
例如,要访问嵌套属性->foo->bar->baz
,你必须这样做
$baz = (isset($data->foo->bar->baz)) ? $data->foo->bar->baz : null;
已经足够了!get-from提供了一种更好的方法
$baz = florianec\get_from($data, ['foo', 'bar', 'baz']);
get_from
在处理深度嵌套对象时特别方便,例如由SimpleXML生成的对象。
安装
通过composer
$ composer require florianeckerstorfer/get-from:~1.0
用法
get_in
使用键列表从嵌套结构中检索值
$data = new \stdClass(); $data->foo = new \stdClass(); $data->foo->bar = new \stdClass(); $data->foo->bar->baz = 'oof'; $name = florianec\get_from($data, ['foo', 'bar', 'baz']); //= 'oof'
不存在的键返回null
$data = new \stdClass(); $data->foo = 'bar'; $baz = florianec\get_from($data, ['baz']); //= null
你可以提供一个默认值,该值将代替null
使用
$data = new \stdClass(); $data->foo = 'bar'; $baz = florianec\get_from($data, ['baz'], 'qux'); //= 'qux'
变更日志
版本1.0(2014年3月9日)
- 初始发布
灵感
这个库是Igor Wiedler的get-in库的完整复制。甚至这个README文件也大量受到Igors工作的影响。太丢人了。
当我想要清理处理来自外部Web服务的XML代码时,我创建了此库/函数,并意识到get-in
只适用于数组,不适用于对象。
作者
许可
MIT许可(MIT)
版权所有 © 2014 Florian eckerstorfer
在此特此授予任何获得此软件及其相关文档文件(“软件”)副本的人免费权限,无限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人这样做,前提是以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“现状”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是由合同、侵权或其他方式引起的,无论是否与软件或其使用或其它交易有关。