thinkphp公用輸出某個變數

WBOY
發布: 2023-03-02 11:58:01
原創
1543 人瀏覽過

自己嘗試做一個小項目(用的thinkphp框架),其中關於模板賦值這裡遇到了一個問題:每個模板中​​都有一個header頭部,沒毛病.但是問題來了,在頭部中有個變數,需要輸出到每個引用到它的模板上,這個變數是由控制器內的一個方法產生的:
public function header(){

<code>    $value=$name;
    $this->assign('lo_id',$value);
}</code>
登入後複製
登入後複製

我不可能在每個模板的控制器上都寫一次這個方法,當然也不能把這個方法放到模板控制器的父類控制器上,模板的控制器:
namespace HomeController;

use ThinkController;

class IndexController extends Controller
{

<code>public function index()
{
$this->display("url");
}</code>
登入後複製
登入後複製

}
都是這樣子的,該怎麼把上面那個變數{$lo_id}輸出到每個模板上呢?
或我可能沒有把需求表達清--就是每個模板都能夠輸出某個變數

回覆內容:

自己嘗試做一個小項目(用的thinkphp框架),其中關於模板賦值這裡遇到了一個問題:每個模板中​​都有一個header頭部,沒毛病.但是問題來了,在頭部中有個變數,需要輸出到每個引用到它的模板上,這個變數是由控制器內的一個方法產生的:
public function header(){

<code>    $value=$name;
    $this->assign('lo_id',$value);
}</code>
登入後複製
登入後複製

我不可能在每個模板的控制器上都寫一次這個方法,當然也不能把這個方法放到模板控制器的父類控制器上,模板的控制器:
namespace HomeController;

use ThinkController;

class IndexController extends Controller
{

<code>public function index()
{
$this->display("url");
}</code>
登入後複製
登入後複製

}
都是這樣子的,該怎麼把上面那個變數{$lo_id}輸出到每個模板上呢?
或我可能沒有把需求表達清--就是每個模板都能夠輸出某個變數

把公用部分放到父類別中,子類別繼承就行了

<code><?php
namespace HomeController;

use ThinkController;

class BaseController extends Controller{
    public function header(){
        $this->display("url");
    }
}
</code>
登入後複製
<code><?php
namespace HomeController;

use ThinkController;
use Home/BaseController

class IndexController extends BaseController{
    public function index(){
        $this->header();
    }
}
</code>
登入後複製

1.每一個頁面都會有$this->assign('data',$data); 方法的吧。
把這個變數附帶進去就行了,不用單獨寫個方法
2.寫一個基底類別。繼承 Controller ,實作這個方法 , 然後你的頁面再繼承 基類,就不用重複寫了
(一樓已經給出程式碼範例)

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板