# 建立Laravel框架環境 ## :memo:事前作業 請先自行安裝以下軟體: 1.[XAMPP](https://www.apachefriends.org/zh_tw/index.html)(內含PHP、Apache、MariaDB、PHPMyAdmin),此筆記安裝版本為7.4.12。 2.[Visual Studio Code](https://code.visualstudio.com/) ## Step.1 安裝composer 請至[composer](https://getcomposer.org/)官方網站下載,選擇download,下載最新版本的composer。 安裝步驟: 1.選擇Install for all users(recommended) ![](https://i.imgur.com/kbmETME.png) 2.不用勾選developer mode,點選Next ![](https://i.imgur.com/UR7ARV0.png) 3.路徑為預設,不用變更,點選Next ![](https://i.imgur.com/iIJiDSG.png) 4.不用勾選,也不用輸入url,點選Next ![](https://i.imgur.com/80RzFrG.png) 5.點選Install ![](https://i.imgur.com/iumnJMl.png) 6.按Finish結束安裝 ![](https://i.imgur.com/D3YtCdQ.png) 7.重新開機後在終端機輸入以下指令,如有成功跑出版本號碼即為成功安裝。 ``` composer ``` ![](https://i.imgur.com/UhFXRMV.png) ## Step.2 設定PHP設定檔 至自己安裝PHP的目錄下找到"php.ini-development"的檔案,複製一個並更改名稱為"php.ini"在同一目錄底下。 ## Step.3 安裝Laravel 首先要先利用composer下載laravel的安裝包,在命令提示字元底下輸入以下指令: ``` composer global require laravel/installer ``` ![](https://i.imgur.com/bT6U0hk.png) 完成後在第一行會顯示安裝在哪一個目錄底下,輸入"laravel -v"就會看到目前安裝的版本了。 ``` laravel -v ``` ![](https://i.imgur.com/z58ljxr.png) 接下來有兩種方式可以建立laravel專案:laravel或是composer。而利用laravel的安裝方式會比較快。 ## Step.4 建立專案 ### 使用laravel建立專案 將目錄移至你要建立laravel專案底下,執行以下指令: ``` laravel new 資料夾名稱 ``` ![](https://i.imgur.com/rz91vR3.png) 新增完成後,移動至該資料夾裡面,執行下列指令: ``` @php artisan key:generate --ansi ``` ![](https://i.imgur.com/NkZCKlA.png) 該指令的意思是利用PHP去執行artisan的這個檔案,執行後會在專案裡的.env檔中的APP_KEY欄位建立一組新的加密字串。我們利用Visual Studio Code打開剛才建立的專案,並點選.env檔,會看到APP_KEY的地方產生了一組加密字串。 ![](https://i.imgur.com/IEmN96k.png) 如果需要查看其他指令的話可以在終端機使用下列指令: ``` php artisan ``` ![](https://i.imgur.com/I5iTKCR.png) 使用下列指令會開啟一個server,並且會顯示server的IP位址,預設是127.0.0.1:8000,如果8000被佔用了則會自動遞增。建立成功的話,輸入該IP則會顯示laravel的頁面。 ``` php artisan serve ``` ![](https://i.imgur.com/KMZCUlq.png) ![](https://i.imgur.com/qVyyIXT.png) ### 使用composer建立專案 將目錄移至你要建立laravel專案底下,執行以下指令: ``` composer create-project laravel/laravel 資料夾名稱 --prefer-dist ``` ![](https://i.imgur.com/8LHdP28.png) 使用composer建立專案的話就不用輸入指令去生成.env檔裡的APP_KEY了。 到這邊就算安裝laravel完成了! ## Step.5 了解laravel專案架構 ### 我在哪裡? 在第一次進入首頁時,是呼叫了哪一個頁面呢?我們打開專案中的/routes/web.php,會看到下面的程式碼: ```php=16 Route::get('/', function () { return view('welcome'); }); ``` 該程式碼的意思是,當在網址的後面加上"/"時,會導到/resources/views/welcome.blade.php。所以單純在網址的地方打上127.0.0.1:8000時,系統會自動將斜線加上去,而幫我們導到welcome.blade.php的這個畫面囉! 那麼今天我們在/resources/views裡建立一個叫home.blade.php的檔案,裡面寫上簡單的程式碼: ```php=1 <?php echo "welcome home!"; ?> ``` 然後在/routes/web.php裡新增下列程式碼: ``` Route::get('/home', function () { return view('home'); }); ``` 這樣當我們在網址列打上127.0.0.1:8000/home時,就能見到畫面上顯示"welcome home!"了! ![](https://i.imgur.com/ZAGdGmi.png) :::warning 注意!當route裡面的名稱剛好在public的資料夾裡也有相同名稱的檔案時,網頁則會導向在public裡的那個網頁,不是route指向的那個網頁。 ::: ### 我有好多個頁面都要顯示同一個東西,怎麼辦? 我們可以用"@extends('檔案名稱')"的方式引用別的檔案的程式。 首先,先在/resources/views裡建立一個名為navigator.blade.php的檔案,內容如下: ```php=1 這段文字來自navigator.blade.php的文字! ``` 再來打開剛才的home.blade.php,改成下列程式碼: ```php=1 @extends('navigator') 我是來自home.blade.php的文字!! ``` 打開網頁,在網址的地方輸入127.0.0.1:8000/home時,就會看到navigator.blade.php被放在home.blade.php裡面囉! ![](https://i.imgur.com/3Ry5xur.png) 咦?怎麼最先引用的檔案會在比自己原本的程式還晚執行呢?這時候利用"@include"就可以讓引用的檔案先執行囉! ```php=1 @include('navigator') 我是來自home.blade.php的文字!! ``` ![](https://i.imgur.com/ojzeIl4.png) 這份教學就寫到這邊,如果要利用laravel框架進行PHP的資料庫使用,詳情請見下一篇,謝謝。 ## 參考資料 [Progress Bar 進度條線上課程 laravel系列教學影片](https://www.youtube.com/watch?v=rFDcGBO4PWc)