1

Need some quick advice I am trying to access a object array but I am struggling, please see the below array. It starts off an object I would normally user $result->_messages->token but it doesnt work I have trawled google and this site but cant access the token.

object(Zend_Auth_Result)#76 (3) {
["_code":protected] => int(1)
["_identity":protected] => string(9) "3232323233"
["_messages":protected] => array(2) {
    ["user"] => object(stdClass)#71 (13) {
      ["id"] => string(9) "232323332"
      ["name"] => string(14) "John Smith"
      ["first_name"] => string(5) "John"
      ["last_name"] => string(8) "Smith"
      ["link"] => string(41) "http://www.facebook.com/"
      ["username"] => string(17) "john.smith"
      ["location"] => object(stdClass)#68 (2) {
        ["id"] => string(0) ""
        ["name"] => NULL
      }     
      ["email"] => string(22) "[email protected]"
      ["timezone"] => int(1)
      ["locale"] => string(5) "en_US"
      ["verified"] => bool(true)
      ["updated_time"] => string(24) "2012-06-21T13:57:12+0000" 
    }
    ["token"] => string(109) "AAAGIFdDivU4BAMoxyHT3bqY8eBGhnWo9YKM1szHZAnWgY10AIBgxz9LeNCeA2HV9Yhkp8uM5Aq0WR39ZBdcnOa4MxXVI22rnmFKNbYdQZDZD"
    }
}

Any advice any body?

Cheers

J

1
  • 2
    That's not an array, it's an object of type Zend_Auth_Result. Commented Jun 23, 2012 at 11:23

2 Answers 2

3

From the ZF Reference Guide on Naming Conventions:

For instance variables that are declared with the "private" or "protected" modifier, the first character of the variable name must be a single underscore. This is the only acceptable application of an underscore in a variable name. Member variables declared "public" should never start with an underscore.

So you cannot access _messages directly from outside the Zend_Auth_Result instance, because it is protected. You have to use the getter for that property.

See the API Docs for Zend_Auth_Result

$messages = $zendAuthResult->getMessages();
$token = $messages['token'];
Sign up to request clarification or add additional context in comments.

1 Comment

Managed to figure your solution out by looking at how the controller get the User info. Worked perfect thanks!
3

_messages is protected so it's impossible to call upon that variable from outside this (or extended) class, check whether a method exists for the class to get the variable in the array

1 Comment

Thanks, bit of a problem then! The Facebook.php file returns the array with the code : return new Zend_Auth_Result( Zend_Auth_Result::SUCCESS, $user->id, array('user'=>$user, 'token'=>$params['access_token']) );

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.