安裝好了 Laravel 專案之後,我們來看看現在的版本號碼
怎麼看呢?在 Laravel 裡面,我們使用 php artisan
這個工具來看看。
$ php artisan
Laravel Framework 5.8.34
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
......
!!!怎麼是 Laravel Framework 5.8?說好的 Laravel 6.0 教學呢?
慢著!別擔心!
這時候我們打開 composer.json 檔案,將 laravel 版本改成 6.0
"require": {
"php": "^7.1.3",
"fideloper/proxy": "^4.0",
"laravel/framework": "6.0.*",
"laravel/tinker": "^1.0"
},
特別注意 "laravel/framework": "6.0.*",
這段
改好之後,我們重新跑一次 composer update
看看
$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
- Updating doctrine/lexer (1.0.2 => 1.1.0): Loading from cache
- Updating opis/closure (3.3.1 => 3.4.0): Downloading (100%)
- Updating monolog/monolog (1.24.0 => 2.0.0): Downloading (100%)
- Updating laravel/framework (v5.8.34 => v6.0.0): Downloading (100%)
- Updating fideloper/proxy (4.2.0 => 4.2.1): Downloading (100%)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: beyondcode/laravel-dump-server
Discovered Package: fideloper/proxy
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
好像成功了?我們看一下現在的版本號碼
$ php artisan
Laravel Framework 6.0.0
Usage:
command [options] [arguments]
Options:
-h, --help Display this help message
......
成功啦!現在真的是貨真價實的 Laravel 6.0 教學了!
補充:
如果覺得每次都看到許多的提示很繁瑣的話,可以使用 php artisan --version
這個指令
$ php artisan --version
Laravel Framework 6.0.0
這樣就只會看到版本號,不會看到所有指令的提示訊息囉!
感謝 latte0205 邦友的留言!
趁著剛安裝好框架這個機會,我們來簡單聊聊 Laravel 這個框架的結構。
相信安裝的過程中,聰明的讀者們都注意到了,Laravel 安裝時直接就建立了許多的資料夾,看起來非常嚇人。
不過,沒問題的!隨著後面的教學,我們會帶領各位讀者一個一個的看過這些資料夾與類別,並學習裡面的內容。
如果部分讀者有過網頁開發的相關經驗,應該會對所謂的 MVC 框架相當熟悉。看到一個新的網頁框架時,或許會期待裡面應該有 Models/
Controllers/
Views/
三個資料夾。
BUT!
很奇怪的是,你在 Laravel 框架裡面,可以在 app/Http
裡面找到 Controllers
,可以在 resources
裡面找到 views
。可是,卻找不到 Models/
這個資料夾,這是為什麼呢?
在 Laravel 說明文件 https://laravel.com/docs/6.0/structure#introduction 我們可以看到,這其實是 Laravel 刻意的設計。
原因是這樣的:傳統網頁開發 MVC 框架內的模型(Model),對不同的工程師來說,有不同的意義
對於有的工程師來說,Model 代表的是一個物件,比方說電商網站的某個商品本身。所以,對應的程式應該要包含該物件相關的所有商業邏輯。
對於有的工程師來說,Model 代表的則是資料庫內的一筆資料,比方說電商網站某個商品的資料。所以,只應該包含資料庫內商品資料結構和關聯物件,不應該包含商業邏輯。
為了避免這樣的爭議, Laravel 選擇了刻意不使用 Models/
資料夾的方式,直接免去這樣的爭論。
所以,Laravel 與傳統的 MVC 框架略有出入。雖然一樣有 Views/
資料夾,包含處理網頁外觀的物件。一樣有 Controllers/
資料夾處理網頁事件。但是針對資料庫處理的部份,物件則預設直接放在 app/
裡面。
在後面的教學裡,筆者會採用自己習慣的方式:建立 Entities/
資料夾放置 Eloquent Model,建立 Services/
資料夾放置商業邏輯相關的 Service
類別,來進行後續的開發。
今天的教學就這樣囉!各位明天見~
本文第二行查看版本是 php artisan --version
目前這邊是看起來有6.0.0了
感謝補充
沒錯!如果只要看版本的話,可以用 php artisan --version
就好
謝謝您的回應
我的一開始 就是 6.0.1
但 找不到 Controllers/ 和 Views/
Controllers
在 app/Http
資料夾裡面Views
在 resources
裡面喔!
好的 ,謝謝你 XD
我跟著教學做到Day3但因為我的作業系統是Windows,所以要改用Linux來 產生第一個 Laravel 畫面
推推 詳細且有趣的教學