首页 > 解决方案 > Laravel - 从对象中获取价值

问题描述

我有一个从 API 返回的 PHP 对象。以下是 dd($token):

OAuth2AccessToken {#559 ▼
  -accessTokenKey: "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxn8F2X3MBCZYY1g7Do66LIK"
  -tokenType: "bearer"
  -refresh_token: "Q01156b975259zYyAN03aS8lf6YfRcYFK26w2xCvPu75zf0B9F"
  -accessTokenExpiresAt: 1559257067
  -refreshTokenExpiresAt: 1567975300
  -accessTokenValidationPeriod: 3600
  -refreshTokenValidationPeriod: 8751833
  -clientID: "Q06uUceuP2dpIJVmmqbWztlZ73dtb9Qd2shjbiKhkGt7lsimR"
  -clientSecret: "RD0fS7xiRNsmbwSBBXvgU3wsqtyNPy63DfoGq2"
  -realmID: "1385384240"
  -baseURL: "https://quickbooks.api.intuit.com/"
}

如何将密钥“accessTokenKey”放入变量中?

我努力了:

$token->accessTokenKey;

或者

$token['accessTokenKey'];

我收到错误“无法访问私有财产”

标签: phplaravel

解决方案


在这种情况下,是私有财产。该属性不能从模型/类外部调用,因为它是私有的,只能由类访问。您需要使用一些功能来获得它。也许你可以用 $token->getAccessToken() 得到。我应该您了解更多有关 OOP 概念的信息。在 Laravel 中非常重要。

public scope使该变量/函数可在任何地方、对象的其他类和实例中使用。

private scope当您希望您的变量/函数仅在其自己的类中可见时。

protected scope当您想让您的变量/函数在所有扩展当前类(包括父类)的类中可见时。


推荐阅读