mercredi 9 mars 2016

Gateway and repository pattern PHP Laravel

I wanna ask about design pattern.

Why should I use dependency injection in constructor, not import it ('use statement')?

For example:

in my controller:

class AuthController extends Controller {

    public function __construct(UserGateway $userGateway)
    {
        $this->userGateway = $userGateway;
    }

    public function doSomething()
    {
        $this->userGateway->foo();
    }

}

Why don't use just like this instead?

use Acme\UserGateway;
class AuthController extends Controller {

    public function doSomething()
    {
        UserGateway::foo();
    }

}

Many thanks.

Aucun commentaire:

Enregistrer un commentaire