2013-04-10 54 views
0

香港专业教育学院一直与一些代码,我recieving一个变种(我没有工作的整个代码,所以,我不知道它是怎么做的),我的问题是,我得到这样的我如何使用php读取对象值和属性?

AdminUserRoleDecorator Object (
    [user:AdminUserRoleDecorator:private] => EssUserRoleDecorator Object (
     [user:EssUserRoleDecorator:private] => User Object (
      [topMenuItemsArray:User:private] => Array () 
      [employeeList:User:private] => Array () 
      [activeProjectList:User:private] => Array () 
      [empNumber:User:private] => [allowedActions:User:private] => Array () 
      [nextState:User:private] => [userId:User:private] => 1 
      [userTimeZoneOffset:User:private] => -6 

要说实话,这听起来像一个非常愚蠢的问题,我不知道如何阅读,通常我得到的方式$ myobject-> atribute的属性,现在这我真的不知道,任何方式我可以访问此?例如,我想获得userId,我在那里看到它:user:private(我也不知道它们是什么)。

如果我尝试

$myobject->User; 

例如,我得不到任何回报。

谢谢。

编辑:

我试过$ myobject->用户

和我得到这个

Fatal error: Cannot access private property AdminUserRoleDecorator 

我的方式用symfony工作。

+1

变量名区分大小写。 (但在你的情况下,解决这个问题并不能解决问题 - 'user'是一个私有变量,不能从外部读取。这就是设计。) – 2013-04-10 20:25:48

+0

你试过了'$ myobject-> user; ? – Ejaz 2013-04-10 20:26:10

+0

可能是这个类的getters和setter。所以'$ myobject-> getUser()'就是你的答案。 – 2013-04-10 20:41:35

回答

0

From the answer I gave here,您可以通过get_class_methods()php reference)和get_class_vars()了解对象。在这篇文章中,我编写了一个函数,帮助我了解更多关于可用类方法的功能:

show_methods($playlistListFeed); 

function show_methods($_a) { 
    echo "<h3>Methods for ".get_class($_a)."</h3>"; 
    $_a= get_class_methods($_a); 
    $_a=array_unique($_a); 
    array_multisort(&$_a); 
    $i=0; 
    foreach($_a as $method) { 
     $i++; 
     printf("%-30.30s",$method); 
     if($i%5==0) 
      echo "\n"; 
    } 
}