Laravel 項(xiàng)目開(kāi)發(fā)規(guī)范 視圖規(guī)范

2023-02-16 17:12 更新

統(tǒng)一布局

相似的頁(yè)面下,必須 使用 layouts 文件來(lái)統(tǒng)一頁(yè)面頭部與尾部。如:

layouts/app.blade.php

優(yōu)先使用 Blade

視圖文件 必須 優(yōu)先考慮使用 .blade.php 后綴來(lái)指定使用 Blade 模板引擎。

保持目錄清晰

  • layouts - 頁(yè)面布局文件 必須 放置于此目錄下;
  • common - 存放頁(yè)面通用元素;
  • pages - 簡(jiǎn)單的頁(yè)面存放文件夾,如:about、contact 等;
  • resources - 對(duì)應(yīng) Restful 路由的資源路徑名稱(chēng),以 URI photos/create 為例,對(duì)應(yīng) create.blade.php 文件,存放在文件夾 photos 下。

必須 避免在 resources/views 目錄下直接放置視圖文件。

局部視圖

局部視圖文件 必須 使用 _ 前綴來(lái)命名,如:photos/_upload_form.blade.php

視圖命名要釋義

為了和 Restful 路由器和資源控制器保持一致,視圖命名也 必須 使用資源視圖的命名方式。以 photos 為例:

  • photos/index.blade.php
    • 內(nèi)容列表視圖
    • 對(duì)應(yīng)路由器 /photos,命名 photos.index
    • 控制器方法 PhotosController@index
  • photos/show.blade.php
    • 單個(gè)內(nèi)容視圖
    • 對(duì)應(yīng)路由器 /photos/{id},命名 photos.show
    • 控制器方法 PhotosController@show
  • photos/create.blade.php
    • 內(nèi)容創(chuàng)建視圖
    • 對(duì)應(yīng)路由器 /photos/create,命名 photos.create
    • 控制器方法 PhotosController@create
  • photos/edit.blade.php
    • 內(nèi)容編輯的視圖
    • 對(duì)應(yīng)路由器 /photos/edit,命名 photos.edit
    • 控制器方法 PhotosController@edit

共用 _form.blade.php 視圖

很多情況下,創(chuàng)建和編輯視圖里的頁(yè)面結(jié)構(gòu)接近相似,在這種情況下,應(yīng)該 使用 _form.blade.php 視圖來(lái)避免重復(fù)代碼。

以 photos 為例:

  • PhotosController@create - 對(duì)應(yīng)視圖:/photos/create.blade.php
  • PhotosController@edit - 對(duì)應(yīng)視圖:/photos/edit.blade.php

edit.blade.php 和 create.blade.php 內(nèi)部會(huì)使用 _form.blade.php 視圖來(lái)加載表單。

一個(gè)完整的 photos 資源對(duì)應(yīng)的視圖文件為以下:

├── photos
│   ├── _form.blade.php
│   ├── create.blade.php
│   ├── edit.blade.php
│   ├── index.blade.php
│   └── show.blade.php


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)