Repository trong Laravel

04/01/2022   Laravel
Repository trong Laravel
1. Repository trong Laravel là gì
- Repository là một design parttern tác dụng:
+ mapping với Model
+ thay model thao tác DB
2. Xây dựng Repository parttern
* Repository cơ bản hay dùng
- St1: class Repository/PostRepository
=> dùng mapping với model
- St2: abstract class Repository/BaseRepository (PostRepository extends BaseRepository)
=> dùng để thay model thao tác DB
- St3: interface Repository/RepositoryInterface (BaseRepository implements RepositoryInterface)
=> dùng để đinh dạng cho BaseRepository
- St4: class controller Controller/PostController (PostRepository injects vào PostController)
=> tiêm PostRepository vào PostController để sử dụng
* Repository nâng cao
* sử dụng Denpendency injection (DI) tiêm interface PostRepositoryInterface
- St4: interface Interface/PostRepositoryInterface (PostRepository implement PostRepositoryInterface)
=> dùng để định dạng cho PostRepository và phục vụ sử dụng cho DI
=> cần binding PostRepositoryInterface với PostRepository trong app/Providers/AppServiceProvider.php
- St5: class controller Controller/PostController (PostRepositoryInterface injects vào PostController)
=> tiêm PostRepositoryInterface vào PostController để sử dụng
Cám ơn

