nrslib / repository-supports
Support creating repository.
Installs: 1 754
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 2
Forks: 2
Open Issues: 0
Requires
- php: ^7.3|^8.0
README
Support creating repository by file.
Sample
Repository
interface UserRepositoryInterface { function find(UserId $id): ?User; function save(User $user): void; }
use nrslib\RepositorySupports\FileRepository; class FileUserRepository implements UserRepositoryInterface { use FileRepository; function find(UserId $id): ?User { $user = $this->load($id->getValue()); if (is_null($user)) { return null; } else { return $user; } } public function save(User $user): void { $id = $user->getId()->getValue(); $this->store($id, $user); } }
Setup
in Laravel
use nrslib\RepositorySupports\FileRepositoryConfig; class AppServiceProvider extends ServiceProvider { ... /** * Bootstrap any application services. * * @return void */ public function boot() { // set directory here $debugPersistenceDirectoryFullPath = storage_path("debug\\persistence"); FileRepositoryConfig::$basicDirectoryFullPath = $debugPersistenceDirectoryFullPath; } }