Skip to content

Instantly share code, notes, and snippets.

@coreymcmahon
Created February 8, 2014 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coreymcmahon/8878743 to your computer and use it in GitHub Desktop.
Save coreymcmahon/8878743 to your computer and use it in GitHub Desktop.
A Pattern for Reusable Repository Design in Laravel - http://www.slashnode.com/reusable-repository-design-in-laravel/
<?php namespace Acme\Repositories;
use Acme\Abstracts\Repository as AbstractRepository;
class UserRepository extends AbstractRepository implements UserRepositoryInterface
{
// This is where the "magic" comes from:
protected $modelClassName = 'User';
// This class only implements methods specific to the UserRepository
public function findByUserName($username)
{
$where = call_user_func_array("{$this->modelClassName}::where", array($username));
return $where->get();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment