yii2實戰之使用者註冊登入

2021-09-13 18:33:54 字數 2338 閱讀 3598

繼控制器與檢視互動,本篇將講解如何自定義全域性函式,以及使用yii自帶的使用者註冊登入功能

有時候我們希望自定義一些函式,可以在全域性中呼叫,如php預設的var_dump在頁面上的顯示效果並不好,尤其是多層級陣列的情況下,一大坨資料很難分辨。對此,yii提供了vardumper助手,可以輸出美觀易讀的資訊,只是呼叫較為繁瑣,為了開發的體驗更流暢,可以自定義全域性函式,將常用的功能封裝,便於呼叫。

首先,新建common/functions.php

<?php 

use yii\helpers\vardumper;

function dd($data, $exit = 0)

}

在應用入口檔案frontend/web/index.php引入:

require __dir__ . '/../../common/functions.php';
這樣,就能進行全域性呼叫了:

frontend/controllers/sitecontroller.php

public function actionindex()

訪問:

預設情況,url規則是:http://****/index.php?r=控制器名/方法名,這種形式對於seo並不友好,yii提供了url美化元件,呼叫相當簡單,只需要進行以下設定:

frontend/config/main.php

'urlmanager' => [

'enableprettyurl' => true, // 美化url

'showscriptname' => false, // 隱藏index.php

'rules' => [

],],

開啟url美化後,原來的url形式不再支援,訪問:並不生效,必須以這種形式:yii預設提供了使用者的註冊、登入、退出功能。只需要簡單的幾步配置,就可以完成整個流程。

首先,配置資料庫:

common/config/main-local.php

'db' => [

'class' => 'yii\db\connection',

'dsn' => 'mysql:host=localhost;dbname=yii2advanced',

'username' => 'root',

'password' => '',

'charset' => 'utf8',

],

在本地建立yii2advanced資料庫

然後,建立使用者表。yii預設提供了user使用者表的表結構,我們只需要使用migrate生成即可:

在終端執行:php yii migrate

程式自動建立了user表

接下來將之前設定的預設路由恢復為預設的site控制器

common/config/main.php, 將前面課程設定的'defaultroute' => 'index',刪除

接著,刪除frontend/controllers/sitecontroller.php的除錯**

最後,進入註冊頁面:

密碼設定為:password
註冊成功後返回主頁

本篇示範了如何用yii框架自帶的使用者註冊登入功能。懂得怎麼用是很簡單的事,要了解其中的原理,就需要下功夫,從下節開始,我將介紹如何用yii框架快速構建表單,並進行資料驗證,熟悉這些後,相信你也會驚嘆於yii的高效便捷。

原始碼倉庫

Yii 2 登入使用者校驗

在登入頁面,輸入使用者名稱密碼後,yii2是如何完成使用者名稱和密碼的校驗的?根據yii的規則,使用者校驗的入口是從action開始的 sitecontroller actionlogin loginform login loginform validate loginform validatepa...

yii2登入筆記

yii2高階模板中自帶了登入註冊功能,這裡先記下登入功能的實現筆記 建立一張使用者user表,裡面需要根據user 的model檔案進行更改一些欄位名和新增,password hash是指用yii2進行雜湊加密後的密碼串。auth key使用使用者註冊時加的唯一標示,可以用來在瀏覽器記住使用者登入有...

Yii2使用者認證

認證是鑑定使用者身份的過程,是登入功能的基礎。使用yii2提供的認證功能必須設定使用者元件user並建立乙個類實現yii web identityinte ce介面。1.在配置檔案中設定user元件。enableautologin 是否能基於cookie自動登入 idparam 儲存user元件唯一...