Back

Artisans! I have a question.

In a package I'm creating the current way for using the class is by first using the Quickpay::api() method, and then tacking on any other method.

How could I change my code to skip this Quickpay::api()->payments()->create() and just go directly to Quickpay::payments()->create();

github.com/mortenebak/laravel-quickpay



Any help appriciated :)

2

206

In response to @mortenebak

Use the service container with a binding (or singleton) in your ServiceProvider to inject a QuickPay instance instead of wiring it up in the constructor. This should allow to to skip the static constructor / api() method call.

1

305

  • No matching results...
  • Searching...

/ 1000

Plus, he would need to switch all the methods to static.

2

346

Hmm I wouldn’t recommend. There is already a facade so why not use that if you like the static syntax but leave it as it is, so it’s possible to access the methods in the default way when using dependency injection.

1

343

Ahh I didn't see the Facade. Then you're right, no need of doing that.

443

That wouldn’t work out very well. The static methods wouldn’t have access to the instance properties and therefore the injected client. A static call on the Quickpay class would basically bypass the service container.

398