我已经为我正在使用的API创建了自己的Wrapper,现在我有一个用户可以注册的类,我需要在整个班级中调用该API调用的结果。
所以我想知道是否可以将结果对象作为结果对象 API作为要使用的对象返回并传递给其他方法
这是我的代码,我添加了内联评论以澄清问题
class RegisterController extends Controller {
private $company;
public function __construct()
{
// This is not the object I want, It's the class that communicates with the API
$this->company = new Teamleader\Company;
}
public function index($id = null)
{
// I'm trying to set the class to the result of the API call ( returns an StdObject )
$this->company = $this->company->get($id);
// Still returns the original object, not the result of the API call
var_dump($this->company);
}
public function register()
{
// Also returns the original object
dd($this->company);
}
}
非常感谢,一个困惑的开发人员。
答案 0 :(得分:1)
不要试图覆盖api包装器,只需将其设置为一些自定义响应对象。
namespace Teamleader;
class CompanyResponse {
protected $data = null;
public function __construct(\stdClass $data)
{
$this->data = $data;
}
// Whatever other methods you want to be in the API response
}
然后在get
中的Teamleader\Company
方法return new CompanyResponse($data)
在index
的{{1}}方法中,将响应对象设置为不同的类属性。覆盖您创建的API包装器的确没有太多理由。
RegisterController