将API调用的结果传递给类

时间:2015-06-24 18:06:43

标签: php class laravel

我已经为我正在使用的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);
    }

}

非常感谢,一个困惑的开发人员。

1 个答案:

答案 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