/

Laravel入門

Laravel入門

本教程是Laravel手冊的一部分,從https://flaviocopes.com/access/下載。

要開始使用Laravel,您需要在計算機上設置PHP環境。
您可以通過各種方式來完成這一點。
在繼續之前,請刪除過去可能完成的任何舊版本PHP安裝。具體方法取決於您如何在計算機上安裝PHP。希望您沒有這樣做,我們可以繼續。
在macOS上,使用Homebrew(如果尚未安裝,請先安裝Homebrew),然後使用以下命令安裝PHP和Composer

1
brew install php composer

(可能需要一些時間)
安裝完成後,您應該能夠運行php -v命令獲取安裝的PHP版本(對於composer -v也是如此):

現在,您可以進入計算機上為開發保留的文件夾。例如,我在我的主目錄中有一個dev文件夾。
在該文件夾中,運行以下命令:

1
composer create-project laravel/laravel first

以在名為first的文件夾中創建一個新項目。
現在進入該文件夾並運行php artisan serve

1
2
cd first
php artisan serve

在Laravel中,您將經常使用php artisan <某些命令>,因為它可以為您做很多有用的事情。例如,我們將使用它來“建立”模型,而無需手動創建文件。
打開瀏覽器,您將看到Laravel應用程序的默認歡迎畫面:

如果您在達到此階段時遇到問題,官方文檔有很好的指南,涵蓋了macOSLinuxWindows

在VS Code中打開新創建的項目文件夾。
這應該是文件結構:

當您在這裡時,我建議您安裝以下擴展:

我們有一堆文件夾和一堆文件。
您要查看的第一個文件是.env文件。

它包含了許多用於您的應用程序的配置選項,稱為環境變量:

例如,在文件的此部分,您可以看到我們設置了應用程序名稱、調試標記、URL、與日誌記錄、數據庫連接、電子郵件發送等相關的配置設置。
一個非常有用的文件夾是config。這是config/app.php文件的示例:

該文件夾中的每個文件都包含許多可以設置的配置選項,並且都有很好的文檔。

配置文件和.env文件之間的區別是什麼?.env中的環境變量可以根據部署的情況進行更改,例如,在開發期間,您可以啟用調試,而在生產服務器上不希望這樣做。

config文件中的某些選項(如上面所示)使用env() Laravel輔助函數來獲取環境變量。

而直接存儲在config文件夾中的選項是“適用於所有環境”的硬編碼選項。

在查看更改任何配置選項之前,讓我們修改在瀏覽器中看到的內容。

打開routes文件夾,您將看到4個文件。打開web.php

這是顯示Laravel應用程序示例主頁的代碼:

我們對/相對URL(http://127.0.0.1:8000/**/)發出了請求,這意味著“主頁”。

此URL在routes/web.php文件中處理,該文件包含專用於處理來自瀏覽器的HTTP請求的路由器。

在此文件中,如屏幕截圖所示,我們告訴Laravel在使用GET HTTP方法(在瀏覽器中打開頁面時使用的方法)時,當有人訪問/ URL時返回welcome視圖:

1
2
3
Route::get('/', function () {
return view('welcome');
});

為此,我們使用了view() Laravel輔助函數,它知道在哪裡找到welcome視圖,因為Laravel使用一套約定。

我們有文件夾和文件專門用於保存應用程序的具體、明確定義的部分。
在這種情況下,welcome視圖定義在resources/views/welcome.blade.php文件中:

您可以清空此文件的所有內容,並在其中輸入<h1>test</h1>。保存(cmd-s或ctrl-s)並重新加載瀏覽器,主頁內容將切換為顯示此字符串:

因此,您現在確切知道該文件負責在該URL上顯示什麼!

現在讓我們添加第二頁。
routes/web.php中添加:

1
2
3
4
5
//...

Route::get('/test', function () {
return view('welcome');
});

這將在調用/test路由時也呈現welcome視圖:

您可以通過在resources/views中創建新視圖並在路由中使用該視圖來顯示不同的內容,例如創建一個名為resources/views/test.blade.php的新視圖

resources/views/test.blade.php

1
<h1>new view!</h1>

routes/web.php

1
2
3
4
5
//...

Route::get('/test', function () {
return view('test');
});

這是結果:

請注意,任何URL如果在routes/web.php中沒有指定的條目,它都會呈現一個“404未找到”頁面:

您可以自定義此錯誤頁面。這是方法:在resources/views中創建一個errors文件夾,在其中創建一個404.blade.php文件。添加任何內容,例如:

1
<img src="https://media.tenor.com/IHdlTRsmcS4AAAAM/404.gif" />

將呈現該404錯誤:

您只需在正確的位置以正確的名稱添加文件,因為Laravel具備此類約定,所以添加文件到正確的位置和具有正確的名稱將執行特定的操作。