masnathan / object
该包已被弃用,不再维护。未建议替代包。
超级对象,可以处理你抛给它的一切...或者几乎所有东西。
v1.1.0
2019-03-22 18:43 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2020-08-21 19:14:46 UTC
README
超级对象,可以处理你抛给它的一切...
安装
通过Composer
$ composer require masnathan/object
使用
use MASNathan\SuperObject; $object = new SuperObject(); $object->setMode('live'); $object->set('mode', 'live'); $object->mode = 'live'; $object['mode'] = 'live'; echo $object->getAppMode() // 'live' echo $object->get('app_mode') // 'live' echo $object->app_mode // 'live' echo $object['mode'] // 'live'
假设你有一个这样的数组
$myBigDataArray = array( 'details' => array( 'first_name' => 'André', 'last_name' => 'Filipe', 'email' => 'andre.r.flip@gmail.com', 'social' => array( 'github' => 'https://github.com/MASNathan', 'twitter' => 'https://twitter.com/masnathan' ) ), 'account_info' => array( 'admin' => true, 'last_login' => 2015-06-13 13:37:00 ) 'cart_items' => array( array('id' => 1337), // (...) ) );
使用SuperObject
类,你可以这样访问它的信息
$object = new SuperObject($myBigDataArray); echo $object->getDetails()->getFirstName(); // 'André' $object->getDetails()->isLastName('Roque'); // false echo $object->getDetails()->getSocial()->getGithub(); // 'https://github.com/MASNathan' echo $object->getDetails()->getSocial()->getFacebook(); // '' $object->getAccountInfo()->isAdmin(); // true $object->getAccountInfo()->unsetLastLogin(); // unsets $myBigDataArray['account_info']['last_login'] foreach ($object->getCartItems() as $item) { echo $item->getId(); // 1337 }
你也可以检索SuperObject的内容,作为一个array
或一个StdClass
$object->toArray(); // array( ... ) $object->toObject(); // StdClass( ... )
甚至可以序列化和反序列化对象
unserialize(serialize($object)); // or as json json_decode(json_encode($object));
变更日志
请参阅CHANGELOG获取更多最近更改的信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果你发现任何安全相关的问题,请通过电子邮件andre.r.flip@gmail.com报告,而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。