ThinkPHP中新增公共類
新增公共類
有時,需要在thinkphp中的一些類之中進行一些公共的操作,如檢查使用者是否登入、session是否過期等,這些可以通過在thinkphp中新增公共類來實現。
舉一個後臺新增使用者驗證的例子來說。
前提:後臺的每一個頁面都要檢測該是否是允許登入的使用者,檢測函式為checkAdmin()。
1.在應用的Common目錄下建一個Controller目錄,在Controller目錄裡新增一個類AdminController.class.php。內容如下:
<?php
namespace Common\Controller;
use Think\Controller;
class AdminController extends Controller{
function _initialize(){
if(!checkAdmin()){
$this->error("permission denied!");
exit(0);
}
}
}
2.後臺操作的每一個類,都繼承自該類,如後臺的IndexController.class.php頁面:
<?php
namespace Admin\Controller;
use Common\Controller\AdminController;
class IndexController extends AdminController {
//do something...
}
這樣後臺每個頁面的類呼叫時,都會進行使用者驗證。_initialize()和__construct()的區別
_initialize()是thinkphp特有的方法,__construct()是php中的方法,二者都是用來在類初始化的時候呼叫的。
_initialize()的作用體現在繼承中,呼叫_initialize()的時候,會先執行父類的構造方法,然後再執行自己的構造方法。相當於
class XXX extends YYY{
function __construct(){
parent::__construct();
//XXX's initialize...
}
}
而普通的__construct()只會呼叫自己的構造方法。
以上為個人觀點,如有錯誤,歡迎指正。
原文地址:http://blog.csdn.net/somehow1002/article/details/74276206
相關文章
- ThinkPHP3.2公共類庫、應用類庫ThinkPHP/Library講解PHP
- @thinkphp 分類bugPHP
- ThinkPHP 3.1.2 新增: 模板繼承PHP繼承
- Util應用程式框架公共操作類(八):Lambda表示式公共操作類(二)框架
- ThinkPHP6中Redis操作服務類的記錄PHPRedis
- ThinkPHP之另類RBAC效果PHP
- thinkphp: fastadmin頁面上新增css和jsPHPASTCSSJS
- ThinkPHP 無線遞迴分類PHP遞迴
- 公共的Json操作C#類JSONC#
- Express呼叫mssql驅動公共類dbHelperExpressSQL
- 連線SQL SERVER的公共類 (轉)SQLServer
- C++11中對類(class)新增的特性C++
- 使用property為類中的資料新增行為
- PHP 新增匿名類PHP
- thinkphp6後臺新增google登入驗證PHPGo
- DIY 實現 ThinkPHP 核心框架 (十)App 類PHP框架APP
- ThinkPHP3.1.3核心類 Dispatcher.class.phpPHP
- ThinkPHP3.1.3核心類 Cache.class.phpPHP
- 如何設定Struts 連線資料庫的公共類,作個公共的類,來連線資料庫,如何寫???資料庫
- php中ThinkPHP的用處PHP
- ThinkPHP 類似 AOP 思想的引數驗證PHP
- DIY 實現 ThinkPHP 核心框架 (九)Container 類PHP框架AI
- DIY 實現 ThinkPHP 核心框架 (十一)完善App 類PHP框架APP
- thinkphp5資料的無限分類PHP
- ThinkPHP6 核心分析之Http 類跟Request類的例項化PHPHTTP
- ThinkPHP框架中新增404錯誤頁面以及訪問安全PHP框架
- ThinkPHP3.2 中 behavior 的使用PHP
- thinkphp中url的生成U()方法PHP
- ThinkPHP 3.2 中 session 的處理PHPSession
- DIY 實現 ThinkPHP 核心框架 (十二)Facade 類PHP框架
- Git 中的演算法-最近公共祖先Git演算法
- 找到兩個陣列中的公共元素陣列
- Runtime之分類新增屬性
- 新增 MyEclipse Persistence Tools 類庫Eclipse
- thinkphp中的多表關聯查詢PHP
- ThinkPHP5中的事務操作PHP
- 新浪微博開放平臺WeiboClient類的公共方法(PHP)clientPHP
- ThinkPHP6 例項化 Http 類和依賴注入PHPHTTP依賴注入