哈囉大家好!
今天要延續昨天談論的主題-Laravel專案的程式碼架構分析,那就讓我們繼續看下去吧!
附上程式碼架構圖:
example/
├── app/
│ ├── Console/
│ ├── Exceptions/
│ ├── Http/
│ │ ├── Controllers/
│ │ ├── Middleware/
│ └── Providers/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
└── tests/
4. database:
這個目錄下通常會有三個子目錄,分別是factories, migrations和seeders。
1.factories: 在這個目錄中定義測試用的預設數據。
2.migrations: Migrations負責資料庫綱要(schema)的version control,透過migrations我們可以保持一致性的架構來定義以及修改資料庫架構。
3.seeders: 包含了所有seeder相關的類別(Class),我們可以創造放進資料庫的預設或測試數據。
5. public:
這個目錄是WEB伺服器的根目錄,包含了index.php這個檔案。除此之外,圖片、CSS檔以及JavaScript檔也是放在此目錄中。
6. resources:
這個目錄主要裝載的檔案是前端畫面顯示的內容,底下有五個子目錄:
1. lang: 顧名思義就是專門處理語言的目錄,讓開發者的應用程式可以支援多元的語言版本。
2. views:包含了Blade模板,也是開發者撰寫UI介面的地方。Blade引擎會處理這些模板來呈現前端畫面。
3. css/js/sass:這些目錄來存放用來美化的css檔以及JS檔。
7. routes:
應用程式的路徑都會在這個目錄裡面被定義。其中路徑還可以分成是否需要認證、驗證或cookies、API routing⋯⋯等。
8. storage:
這個目錄底下會放編譯過的檔案,以及其他由Laravel框架產生的檔案。通常有app, framework以及logs。
9. tests:
所有的測試檔案統一會放到這個目錄裡面,Laravel有支援PHPUnit做單元測試。底下有兩個子目錄:Features和Unit。
1. Features:針對Controller和HTTP endpoints這種比較大區塊程式碼的測試。
2. Unit:提供function或methods等較小區塊的程式碼測試。
以上就是對Laravel程式碼架構簡單的介紹,因為內容真的蠻多的,所以之後在寫程式碼時,遇到不太理解或熟悉的部分會更仔細去探討。
接下來就先來看看Laravel專案初次啟動的畫面吧!
移動到創建專案的路徑位置後,輸入命令列,
php artisan serve
等待幾秒後就可以在本地端port:8000看到畫面囉!
(不出所料出現的是Laravel官方的各種連結,文檔、論壇之類的,覺得暗黑風的畫面很好看XD)
了解完程式碼的架構後,我也來玩玩看~
先在resources/views目錄底下建立hello.blade.php,定義前端的畫面(非常非常陽春~)
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Hello World! My first Laravel Project!</h1>
</body>
</html>
之後再到routes目錄下的web.php檔案定義路徑
<?php
use Illuminate\Support\Facades\Route;
Route::get('/hello', function() {
return view('hello');
});
第一個參數對應的是顯示畫面的路徑,第二個參數function中的'hello'則是對應剛剛創建的前端畫面檔案hello.blade.php。
之後在瀏覽器打開localhost:8000/hello,就可以看到陽春的語錄畫面啦~~
那麼就簡單介紹到這邊,接下來要開始學習Laravel框架的程式語法,如何撰寫Routes和Controller,以及用blade模板寫出不要那麼陽春的畫面XD
那就明天見囉!