国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在Repository模式下使用laravel

netScorpion / 2383人閱讀

摘要:倉庫地址文檔地址清晰的目錄結構只負責定義模型如模型關聯和等負責處理這個表相關的所有業務邏輯不只是注入相關的任何都可以注入代碼定位迅速只負責處理簡單的邏輯獲取轉發數據它應該是簡潔干凈的所有的驗證類所有的模型用戶相關的所有模型目錄結構應與一致

laravel-repository

倉庫地址Github

Repository文檔地址

清晰的目錄結構 Models只負責定義模型(如:模型關聯,scope,get和set attribute等) Repository負責處理這個表相關的所有業務邏輯, 不只是注入model, 相關的redis任何cache都可以注入,代碼定位迅速 Controllers 只負責處理簡單的邏輯,獲取轉發數據,它應該是 簡潔干凈

App

Http

Controller

Admin

IndexController

UserController

ConfigController

...

Request(所有的request驗證類)

Admin

Index

StoreRequest

UpdateRequest

DestroyRequest

User

...

Config

...

Request.php

Models (所有的model模型)

User(用戶相關的所有模型)

User.php

UserExt.php

UserMessage.php

Config

Config.php

...

BaseModel.php

Repositories (目錄結構應與model一致,結構清晰)

User(用戶相關的所有倉庫)

UserRepository.php

UserExtRepository.php

UserMessageRepository.php

...

安裝并使用
composer require littlebug/laravel-repository

mkdir app/Http/Requests

# 創建屬于你自己的Request驗證基類

# 就像下面這個文件
關于一鍵生成代碼
# 在將命令注入到你的laravel 項目以后

# 輸入

php artisan list

# 如果你看到下面這些提示,那么可以開始快速生成代碼了!~

 core
  core:controller               生成 Controller 
     {--table=}   指定表名稱 [ 指定該參數會通過表生成視圖文件 ]
     {--name=}    指定名稱 可以帶命名空間 [ --name=Home/IndexController 或者 HomeIndexController ]
     {--r=}       指定 Repository 需要從 Repositories 目錄開始; 默認使用控制器同名 Repository
     {--request=} 指定 request 目錄; 需要從 Requests 目錄開始; 默認使用控制器命名空間
     {--pk=}      指定主鍵名稱,默認id
  core:generate                 生成 controller|model|repository|request|views 
    {--table=}      指定表名稱 [ 支持指定數據庫,例如:log.crontabs ]
    {--path=}       指定目錄 [ 沒有傳遞絕對路徑,否則使用相對對路徑 從 app/Models 開始 ]  
    {--model=}      model名稱 默認生成使用表名稱生成
  core:model 
# 讓我們來試一下

# 在commands幫助文檔的提示下生成代碼

# 如果你的項目用到了數據庫前綴,不要忘了去database.php中添加,否則會找不到table

# 舉個栗子,以member_message表為例

php artisan core:generate --table=member_message --path=Member --controller=Member/MemberMessageController

# 在終端中你可以看到下面的結果

文件 [ /Users/wanchao/www/lara-test/app/Models/Member/MemberMessage.php ] 生成成功
文件 [ /Users/wanchao/www/lara-test/app/Repositories/Member/MemberMessageRepository.php ] 生成成功
文件 [ /Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/UpdateRequest.php ] 生成成功
文件 [ /Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/DestroyRequest.php ] 生成成功
文件 [ /Users/wanchao/www/lara-test/app/Http/Requests/Member/MemberMessage/StoreRequest.php ] 生成成功

# 添加路由 routes/web.php

Route::group(["namespace" => "Member","prefix" => "member"], function ($route) {
    $route->get("index", "MemberController@indexAction");
    $route->get("message", "MemberMessageController@indexAction");
});

### 修改MemberMessageController
### 在MemberMessageController中dd打印數據

public function index()
{
    $filters = Helper::filter_array(request()->all());
    $filters["order"] = "id desc";
    $list = $this->memberMessageRepository->paginate($filters);
    dd($list);
}

# 終端

php artisan serve

vist localhost:8001/member/message

# 你應該嘗試一些你的數據庫中存在的表,而不是機械的去復制粘貼我的栗子
 

自定義
# 也許你想自定義自己的Repository

# 創建一個 Repository.php 在 appRepository

# 對它進行擴展和部分重寫,比如success 和error 方法, 可以改為自己喜歡的數據格式
這種模式下開發, 項目結構異常清晰, Repository的使用簡潔到爆, 只需要花短短幾分鐘看一下他的使用說明,你會喜歡上它的

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31661.html

相關文章

  • Laravel 中設計模式的實戰分享

    摘要:如何在實戰中能應用上設計模式,我思考了接近兩年。最開始我接觸設計模式,出發點就是為了重構代碼,以便更好的復用和測試。也就是說基本是被當成一組靜態函數使用的。 MVC是Laravel自帶的,大家也多少都會用一些。今天我們不談MVC,談一些大中型項目的設計思路。 前言 雖然標題說是設計模式,但是我并不打算去講什么singleton、strategy、factory,不知道為什么,每次看到...

    李義 評論0 收藏0
  • 推薦:好用的 Laravel Repository

    摘要:但在中也不可避免的基礎模式,上述問題仍然存在。這樣可以完全分離和的依賴。最開始在中使用是通過定義大量的來注入,,實現具體的工作類。但是像鏈接調用仍然沒有解決,為些我們開發出了新的倉庫包。目前此包已經使用在好幾個項目中目前運行良好。 什么是Repository模式,如何使用Repository模式 這里就不再啰嗦了,請參見以下幾個鏈接如何使用 Repository 模式?關于 Repos...

    MAX_zuo 評論0 收藏0
  • LaravelRepository Pattern(倉庫模式)——概念篇

    摘要:確實,要獨立一個操作層出來,確實會增加大量代碼,非常繁瑣。如果你是小項目,未必需要使用這一模式。但如果是年以上的復雜大型項目,這種模式的好處就比較明顯了。如果你是純新手,建議你暫時不要往下看,先把用得比較熟練后再回來學習。 為什么要學習Repository Pattern(倉庫模式) Repository 模式主要思想是建立一個數據操作代理層,把controller里的數據操作剝離出來...

    tomener 評論0 收藏0
  • laravel 開發輔助工具

    摘要:按照最初提出者的介紹,是銜接數據映射層和領域層之間的一個紐帶,作用相當于一個在內存中的域對象集合。客戶端對象把查詢的一些實體進行組合,并把它們提交給。同時支持登錄過期時間設置,登錄之前,登錄之后事件處理。 laravel 開發輔助工具 配置 添加服務提供商 將下面這行添加至 config/app.php 文件 providers 數組中: providers => [ ... ...

    stormjun 評論0 收藏0
  • 為什么你應該使用 Repository

    摘要:原文來自模式為了保持代碼的整潔性和可讀性,使用是非常有用的。這是一個很典型的一段代碼使用和數據庫交互,這段代碼工作的很正常,但是層對于而言將是緊耦合的。 原文來自http://vegibit.com/laravel-repository-pattern/ Repository 模式 為了保持代碼的整潔性和可讀性,使用Repository Pattern 是非常有用的。事實上,我們也不必...

    Simon 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<