Laravel是一個以MVC(參考:[設計模式]MVC)為架構的PHP Web框架。Laravel支援使用者身份驗證和授權,提供模組化套件系統。Laravel使用Blade模板系統將PHP程式碼與HTML網頁分離。
安裝環境
下載安裝composer
https://getcomposer.org/download/
測試composer
composer -v安裝Laravel installer
composer global require "laravel/installer"
建立專案
新增專案
laravel new "專案名稱"
啟動伺服器
php artisan serv
顯示專案首頁
在瀏覽器裡,輸入“http://localhost:8000”
目錄結構
- app:應用程式和新的PHP程式檔,在「Http/Controllers」子目錄是Controller控制器的類別檔;「Models」子目錄是應用程式模型的Model類別檔。
- bootstrap:應用程式啟動的腳本檔和快取檔。
- config:應用程式設定檔。
- database:資料庫檔案。
- public:公開的資源檔和index.php等。
- resources:前端的JavaScript和CSS等資源檔,在「views」子目錄是View的Blade模板檔案。
- routes:路由設定檔。
- storages:應用程式的暫存檔、Session檔、Views編譯的腳本檔和記錄檔。
- tests:應用程式的測試和單元測試檔。
- vendor:使用Composer安裝的其他第三方PHP函式庫。
路由
每個瀏覽器送出的HTTP請求會對應一個路由,每個路由會對應Controller類別裡的一個方法。
自定義路由
Route::get('/', function(){
return view('welcome');
});
get()為HTTP的GET請求;第一個參數「/」為根路由。第二個參數function()裡的view()為模板檔名稱,是在「resources/views」下的welcome.blade.php。
Route::get('/hello', 'HelloController@hello')->name('hello');
第二個參數執行HelloController.php的hello(),最後name()指定名稱,方便之後進行轉址。
注意:Laravel 8 沒有在RouteServiceProvider.php指定控制器的命名空間,所以會找不到Controller。請進入「\app\Providers」下的RouteServiceProvider.php後,開啟並找到boot(),然後在boot()最後的Route::middleware('web')裡,將$this->namespace改成'App\Http\Controllers'。