自己嘗試做一個小項目(用的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 ,實作這個方法 , 然後你的頁面再繼承 基類,就不用重複寫了
(一樓已經給出程式碼範例)