http://web9x.net http://websitemientrung.com
LARAVEL

Repository. Một design pattern trong Laravel

thiet ke web da nang
Written by Mai Đông Giang

Trước giờ mình chưa biết design patent là cái quái gì cả. Đến khi biết được và nghe đồn Respository là một dạng design patent. Mình chỉ biết vậy và áp dụng vào dự án thôi, còn lý thiết thì mình cực ngu, nên bạn tìm hiểu nhé. Hôm nay mình xin viết bài này để nói về cách tạo một repository đơn giản trong laravel.

Repository của mình có nhiệm vụ: là nơi trực tiếp thao tác code với database, tức là mọi xử lý thông qua database sẽ code ở đây chứ không code trong Model.

Dài dòng quá rồi, mình vào từng bước cụ thể nhé.

  1. Đầu tiên bạn tạo 1 thư mục có tên là Repositories trong project/app. Nó sẽ có đường dẫn: project/app/Repositories
  2. Trong thư mục này bạn tạo 1 file có tên là PostRepositoryInterface.php và 1 thư mục Eloquent chứa file PostRepository.php

Bây giờ thư mục của bạn sẽ như thế này:

thiet ke web da nang

Tiếp theo:

  • Bây giờ chúng ta sẽ viết code để chạy thử: PostRepository của mình để thao tác với Model có tên là Post. Mình sẽ chạy thử 1 function lấy 1 bài post như sau:
    Trong file PostRepositoryInterface.php mình khai báo 1 function như sau:

    Tiếp theo các bạn code tiếp trong file  Eloquent\PostRepository.php

    Như vậy, chúng ta đã viết code trong repository xong.
  • Bước tiếp theo bạn khai báo với laravel và chạy code đó vào Controller là xong rồi. Bạn vào file project\app\Providers\AppServiceProvider.php và thêm code như sau:

    Ở đây, có nghĩa là bạn đã đăng ký PostRepository với laravel thông qua 1 interface có tên là PostRepositoryInterface.
  • Bây giờ chỉ việc bạn vào controller và sử dụng nó thôi. Ví dụ ở đây mình dùng cho HomeController như sau:

    Tận hưởng kết quả nhé!

Như vậy là mình đã hướng dẫn các bạn tạo 1 repository rất rất đơn giản trong laravel rồi. Để các bạn có thể tiếp cận, áp dụng vào dự án của mình cho linh hoạt và thỏa mái trong việc Teamwork nhé! Chúc bạn thành công và đừng ngại ngùng pm mình nếu có vấn đề nhé.

About the author

Mai Đông Giang

Tính thẳng thắn, sống tình cảm, làm việc hết mình.
Chia sẻ là nhận lại.