// ... other methods } Next, Alex created concrete repository classes that extended the EloquentRepository , such as UserRepository and ProductRepository . These classes could then be used throughout the application, decoupling the business logic from the data access layer.
// Eloquent repository implementation class EloquentRepository implements RepositoryInterface { protected $model; object-oriented principles in php laracasts download
public function getAdmins() { return $this->model->where('is_admin', true)->get(); } } As Alex continued to apply OOP principles, the codebase became more modular, flexible, and easier to maintain. The application was now composed of loosely coupled objects, each with a single responsibility. // ... other methods } Next
public function find($id) { return $this->model->find($id); } public function getAdmins() { return $this->