Php 从对象获取id
我使用的是api,它返回以下值:Php 从对象获取id,php,api,codeigniter,object,Php,Api,Codeigniter,Object,我使用的是api,它返回以下值: CultuurNet\Auth\User Object ( [id:protected] => c23e4336-8f84-4501-9253-8b2faage5291 [tokenCredentials:protected] => CultuurNet\Auth\TokenCredentials Object ( [token:protected] => 7f0be1ffab3a456a8a8aa5efeea86c1f [secret:pro
CultuurNet\Auth\User Object ( [id:protected] => c23e4336-8f84-4501-9253-8b2faage5291 [tokenCredentials:protected] => CultuurNet\Auth\TokenCredentials Object ( [token:protected] => 7f0be1ffab3a456a8a8aa5efeea86c1f [secret:protected] => ab3c927180d7854de0e8e5842a21bc92f ) )
如何在php中重新获取[id:protected]文件?使用
但真正的方法是使用getter/setter。使用您自己创建的类扩展CultuurNet\Auth\User,然后提供一个返回受保护变量的get_id()函数
class MyUser extends CultuurNet\Auth\User {
function get_id() {
return $this->id;
}
}
我想你测试了getter方法?差不多
$object->getId();
如果getter不存在,您可以使用反射,请参阅Maxim Khan Magomedov的答案。不能。受保护的成员只能从类内访问:只能检索公共属性/方法返回警告ReflectionProperty::getValue()只需要1个参数0given@Miaw确切的警告是什么<代码>$user这里当然是
CultuurNet\Auth\user
的实例。请参阅更新(它需要实例)。我忘记将$user
传递给getValue()
。他声明返回对象,并且您不能扩展对象,只能扩展类。所以这是行不通的。
$object->getId();