繼控制器與檢視互動,本篇將講解如何自定義全域性函式,以及使用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元件唯一...