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 | cd first |
在Laravel中,您將經常使用php artisan <某些命令>
,因為它可以為您做很多有用的事情。例如,我們將使用它來“建立”模型,而無需手動創建文件。
打開瀏覽器,您將看到Laravel應用程序的默認歡迎畫面:
如果您在達到此階段時遇到問題,官方文檔有很好的指南,涵蓋了macOS、Linux和Windows。
在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 | Route::get('/', function () { |
為此,我們使用了view()
Laravel輔助函數,它知道在哪裡找到welcome
視圖,因為Laravel使用一套約定。
我們有文件夾和文件專門用於保存應用程序的具體、明確定義的部分。
在這種情況下,welcome
視圖定義在resources/views/welcome.blade.php
文件中:
您可以清空此文件的所有內容,並在其中輸入<h1>test</h1>
。保存(cmd-s或ctrl-s)並重新加載瀏覽器,主頁內容將切換為顯示此字符串:
因此,您現在確切知道該文件負責在該URL上顯示什麼!
現在讓我們添加第二頁。
在routes/web.php
中添加:
1 | //... |
這將在調用/test
路由時也呈現welcome
視圖:
您可以通過在resources/views
中創建新視圖並在路由中使用該視圖來顯示不同的內容,例如創建一個名為resources/views/test.blade.php
的新視圖
resources/views/test.blade.php
1 | <h1>new view!</h1> |
routes/web.php
1 | //... |
這是結果:
請注意,任何URL如果在routes/web.php
中沒有指定的條目,它都會呈現一個“404未找到”頁面:
您可以自定義此錯誤頁面。這是方法:在resources/views
中創建一個errors
文件夾,在其中創建一個404.blade.php
文件。添加任何內容,例如:
1 | <img src="https://media.tenor.com/IHdlTRsmcS4AAAAM/404.gif" /> |
將呈現該404錯誤:
您只需在正確的位置以正確的名稱添加文件,因為Laravel具備此類約定,所以添加文件到正確的位置和具有正確的名稱將執行特定的操作。