3.
建立使用者認證
- 在VS Code中,按下Ctrl+`,會開啟終端機。務必記得先進入到專案資料夾底下,因為
artisan
指令只有在專案資夾中才能使用。
- 建立使用者認證機制
php artisan make:auth
- Artisan 是 Laravel 內置的命令列介面。它提供了一些有用的命令協助您開發,它是由強大的 Symfony Console 組件所驅動。
- 由於資料表預設編碼改為
utf8mb4
所以,若資料庫使用的版本是 MySQL 5.7.7 或MariaDB 10.2以下的版本沒做修改的話將無法順利執行建立資料表動作,會出現如下訊息:
- 原因在於文字欄位預設是 255 個字元,但用utf8mb4編碼的話,每個字元佔 4 位元組,也就是說,255個字元一共需要4*255=1020 位元組,但最大的索引長度才 767位元組,因此,最多只能塞得下191個字元,因此我們得修改文字欄位預設字元數,所以請先編輯
\專案\app\Providers\AppServiceProvider.php
,先在上方加入:
use Illuminate\Support\Facades\Schema;
接著在boot()
中加入以下語法,告知預設文字字元數為191個:
public function boot()
{
Schema::defaultStringLength(191);
}
- 接著建立資料表(由於扯到到資料庫,所以如果要在XAMPP中生效,須進入
~/xampp/htdocs/專案/
底下執行;若要在Homestead中生效,須vagrant ssh
進入虛擬機後,到 ~/public_html/專案/
下執行):
php artisan migrate
- 順利的話,從phpMyAdmin或Adminer就可以看到建出三個新資料表:
migrations
、password_resets
、users
- 連上網站試試 http://localhost/myshop/public
- 如果沒有裝伺服器的話,亦可直接啟動內建伺服器(關閉請按Ctrl+C)
php artisan serve
- 然後連上 http://localhost:8000/home 試試
- 連上後替自己建立一組帳號吧!
二、常用方法(底下暫時用不到,只是順帶一寫)
- 檢查是否已經登入?
use Illuminate\Support\Facades\Auth;
if (Auth::check()) {
// 這個用戶已經登錄...
}
- 取得使用者訊息
$user = Auth::user();
-
指定條件來查找使用者:
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
//某Email和密碼,且已啟用的用戶
}
-
登入
Auth::login($user);
// 登錄並且「記住」用戶
Auth::login($user, true);
-
登出
Auth::logout();