yii2實戰之用戶註冊登陸

控制器與視圖交互,本篇將講解如何自定義全局函數,以及使用yii自帶的用戶註冊登陸功能php

全局函數

有時候咱們但願自定義一些函數,能夠在全局中調用,如php默認的var_dump在頁面上的顯示效果並很差,尤爲是多層級數組的狀況下,一大坨數據很難分辨。對此,yii提供了VarDumper助手,能夠輸出美觀易讀的信息,只是調用較爲繁瑣,爲了開發的體驗更流暢,能夠自定義全局函數,將經常使用的功能封裝,便於調用。mysql

首先,新建common/functions.phpgit

<?php
use yii\helpers\VarDumper;
function dd($data, $exit = 0)
{
    VarDumper::dump($data, 10, true);
    if ($exit) {
        exit;
    }
}

在應用入口文件frontend/web/index.php引入:web

require __DIR__ . '/../../common/functions.php';

這樣,就能進行全局調用了:sql

frontend/controllers/SiteController.php數據庫

public function actionIndex()
{
    dd(Yii::$app, 1);
    return $this->render('index');
}

訪問:http://frontend.test/index.ph...數組

自定義dd函數

url美化

默認狀況,url規則是:http://****/index.php?r=控制器名/方法名,這種形式對於SEO並不友好,yii提供了url美化組件,調用至關簡單,只須要進行如下設置:yii2

frontend/config/main.phpapp

'urlManager' => [
    'enablePrettyUrl' => true, // 美化url
    'showScriptName' => false, // 隱藏index.php
    'rules' => [
    ],
],

開啓url美化後,原來的url形式再也不支持,訪問: http://frontend.test/index.php?r=site/index 並不生效,必須以這種形式:http://frontend.test/site/index框架

用戶的註冊登陸

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的調試代碼

最後,進入註冊頁面:http://frontend.test/site/signup

註冊頁面

密碼設置爲:password

註冊成功後返回主頁

登陸成功

小結

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

源碼倉庫

相關文章
相關標籤/搜索