tp5 1 在子類控制器中獲取父類渲染到模板的變數

2022-02-28 12:39:11 字數 1008 閱讀 6260

情況如下:

為了方便統一公共型別模板變數的賦值,我們一般會定義個基類,這個基類會渲染一些子類都會用到的模板變數。

如: 定義乙個前置方法,從session中取出uid,並查詢渲染到模板變數

<?php 

use think\controller;

class userbase extends controller

$user=usermodel::get($uid);

if($user)

}protected function successjson($msg = '')

protected function errorjson($msg = '')

}

那如果子類控制器繼承後,想判斷父類渲染的模板變數,是否存在或者某個值是否為多少,怎麼判斷,查詢tp原始碼。可以找到

其實有方法可以獲取的

/**

* 取得模板顯示變數的值

* @access protected

* @param string $name 模板變數

* @return mixed

*/public function __get($name)

/*** 檢測模板變數是否設定

* @access public

* @param string $name 模板變數名

* @return bool

*/public function __isset($name)

如在子類控制器裡判斷模板變數是否存在

tp5 1 多級控制器

隨著系統的越來越複雜,你可能有這樣的需求 現在要做個api,分多版本。例如 v1 v2.希望目錄結構是這樣的 api controller v1 a控制器 v2 b控制器 這樣可以實現嗎,這樣是可以的。官方多級控制器解釋 如圖 那多級控制器如何訪問呢?官方解釋 route get blog id i...

tp5 1 資料庫獲取器

db類也可以支援獲取器定義,例如 db name user withattr name function value,data select 上面的 查詢的資料集資料中的name欄位的值會統一進行小寫轉換。withattr方法可以多次呼叫,對多個字段定義獲取器。支援對json欄位定義獲取器,例如 u...

TP6獲取控制器名,方法名

以下呼叫方法自選一種,哪種好玩你就用哪種。第一種 助手函式呼叫request controller 獲取控制器名 request action 獲取方法名第二種 門面函式facade的靜態呼叫 think facade request action think facade request cont...