iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
1
Software Development

30天開發與部署 Laravel 專案系列 第 5

Laravel 目錄結構

透過 laravel new 專案名稱後,可以透過ls -al看到Laravel這框架安裝了許多檔案。

https://ithelp.ithome.com.tw/upload/images/20200919/20125263ZeR15g9Yfk.png

以下依據個人使用習慣分類 Laravel 目錄結構

git

.git 資料夾
.gitattributes
.gitignore
以上三個檔案是專案git相關設定檔

README.md

原生會有個落落長的說明,個人習慣把它清空放介紹專案內容供github顯示

config

https://ithelp.ithome.com.tw/upload/images/20200919/20125263IQQzBfGJXS.png

許多內建的設定檔會放這,e.g. app設定時區、auth要走 web或passport 、log 要stack或daily 、 captach要設定哪些字可以用等等。

套件相關

composer
composer.json
composer.lock

可以查看composer已經安裝了哪些套件

vendor
部分既有套件會放在這資料夾

package
package-lock.json
package.json
處理 Laravel Elixir,與node有關。個人目前還沒用過。

database

  • seed 、factories : 用來產生虛擬資料
  • migrations: 透過 php artisan make:migration 產生的table在此做進一步設定
  • MVC架構的M。

resources

https://ithelp.ithome.com.tw/upload/images/20200919/201252637ii6qEMSKV.png

  • view資料夾內有 .blade.php ->顯示頁面
  • MVC架構的V。

routes

主要會用到 web 跟 api 兩個。
特別注意寫在api的router網址要加上 /api/路徑。

測試

  • tests資料夾:寫測試時的檔案放這
  • phpunit.xml

public

  • 網站進入點指向這個檔案位置,index.php 在這頁面
  • 如果要自訂css可以將檔案放置 public/css 裡頭
  • 想變動進入點,先調整 server.php,再處理 ./app/AppServiceProvider.php 、./config/filesystems.php等檔案。

storage

https://ithelp.ithome.com.tw/upload/images/20200919/20125263aVVSpzZZLr.png

  • logs:若使用Logging指令產生的紀錄檔,將存放於此路徑下。
  • app: 若使用 File Storage 上傳圖片功能,基本上會跑來這,有機會介紹怎麼改。

app

https://ithelp.ithome.com.tw/upload/images/20200919/20125263HcPz0Zti4C.png

主要coding的內容會在這個資料夾內,常用部分如下:

Model

  • 透過 php artisan make:model 名稱 新增的model會在此路徑下。
  • 預設會有一個 User Model。
  • MVC架構的M。

Controller

  • 透過 php artisan make:controller 名稱 新增後,檔案會在 app/Http/Controllers 路徑下。
  • 原生的auth也會在 app/Http/Controllers 路徑下。
  • MVC架構的C。

middleware

  • 透過 php artisan make:middleware middleware名稱 新增後,檔案會在 app/Http/Middleware路徑下 。
  • kernel.php : 新增middleware後要設定給指定路由或是全域 。
  • MVC架構的C。

以上是個人很主觀的分類方式。

參考資料
https://devdojo.com/devdojo/explaining-the-laravel-public-folder
https://laravel.tw/docs/5.3/structure
https://developerhowto.com/2018/11/12/how-to-change-the-laravel-public-folder/
https://yeeinhole.github.io/2020/04/25/laravel-1/


上一篇
建立 Laravel 開發環境
下一篇
Laravel 環境設定檔
系列文
30天開發與部署 Laravel 專案30

尚未有邦友留言

立即登入留言