iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
1

藍圖

接下來正式進入到這次的專案範例,在實際演練專案的同時也會順便講解過程中會用到的 Laravel 觀念( 會儘量把 Laravel 的常用概念囊括進去 ),然而這個範例是針對 API 開發的部份,因此前端的 View 部份會略過。

首先先來簡單介紹專案大致的藍圖,這次要做的是具有會員系統的留言板,除了留言的 CRUD 外,還有使用者登入驗證的部份( 分成一般使用者、管理員,以及自己 ),因為實際情況下,並不是每個使用者都具備對留言的所有權限,如:別人沒有辦法刪除自己的貼文,或者只有管理者才可以對任何貼文採取所有動作等。除了使用者與留言之外,我們也會為留言添加種類,每個貼文所對應的種類不只有一個,而每個種類對應到的貼文也不只一則。

而我們預計的規劃藍圖大致用以下的示意圖表示

  • 資料庫關聯性
    database relationship

  • API 路由
    api routes

專案的規劃到此結束,接下來先進行實作前的準備,在此先開啟一個新的 Laravel 專案。

$ laravel new messageboard

.env 檔

在 Laravel 專案裡,許多的環境設定都會在這個檔案,而且多半是屬於比較敏感的資料,例如 : 資料庫的帳號密碼、APP_KEY、API 密鑰等,因此這個檔案會列在 .gitignore 中,當上傳整個專案到 github 的時候,這些敏感的資訊就不會被看到。若要 clone 別人的 laravel 專案到自己的本機時,其中有一個 .env.example 檔案可以作為模板並且套用自己的設定,想要了解完整的步驟可以參考這個網站

回歸正題,開啟專案之後在 .env 檔案裡頭調整資料庫的設定 ( 此處針對 MySQL 的設定 )

預設的情形如下:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

更改後的情形:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= [YOUR_DB_NAME]
DB_USERNAME=root
DB_PASSWORD= '[YOUR_PASSWORD]'

<p.s.> 當 server 開啟時,若中途有改變 .env 檔的設定,則必須要重啟一次 server 之後,改變的設定才會被寫入。

專案設定完成,接著將會開發 user 的 API,敬待下回分解。

參考資料 :

  1. Laravel installation & setup : https://laravel.com/docs/6.x/installation
  2. How to Setup a Laravel Project You Cloned from Github.com : https://devmarketer.io/learn/setup-laravel-project-cloned-github-com/

上一篇
Day 07 : Postman
下一篇
Day 09 : user ( Migration )
系列文
從零開始的Laravel RESTful api30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言