一、變量傳值四種方式:
方式一:使用think\Controller中的fetch方法
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
return $this->fetch('index',[
'email' => '[email protected]',
'username' => 'dobby'
]);
}
}
方式二:使用think\Controller中的assign方法
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
$this->assign('email','[email protected]');
$this->assign('username','dobby');
return $this->fetch('index');
}
}
方式三:使用think\Controller中的$this->view
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
$this->view->email = '[email protected]';
$this->view->username = 'dobby';
return $this->fetch('index');
}
}
方式四:使用think\View類中的share方法
namespace app\index\controller;
use think\Controller;
use think\View;
class Index extends Controller{
public function index(){
View::share('email','[email protected]');
View::share('username','dobby');
return $this->fetch('index');
}
}
視圖文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>視圖顯示變量</title>
</head>
<body>
<p>{$email}</p>
<p>{$username}</p>
</body>
</html>
二、模板引擎普通標籤的開始標記和結束標記可在配置文件中修改(當前端使用框架的標籤標記與{}衝突時修改),
// 模板引擎普通標籤開始標記
'tpl_begin' => '{',
// 模板引擎普通標籤結束標記
'tpl_end' => '}',
三、模板常量
使用view_replace_str自定義模板常量
框架自帶常量有__CSS__、__URL__、__JS__、__STATIC__等,
在視圖中使用模板常量,
四、系統變量使用
視圖文件代碼:
<p>{$Think.server.HTTP_HOST}</p>
<!--環境變量取值:變量需要大寫,並加前綴PHP_-->
<p>{$Think.env.PHP_STATUS}</p>
<p>{$Think.get.id}</p>
<p>{$Think.request.id}</p>
<p>{$Think.post.sid}</p>
<p>{$Think.session.email}</p>
<p>{$Think.cookie.username}</p>
控制器文件代碼:
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
session('email','[email protected]');
cookie('username','dobby');
return $this->fetch('index');
}
}
五、視圖中使用方法調節變量
視圖文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>view學習</title>
</head>
<body>
<h1>這是index/index.html</h1>
<p>{$email|md5}</p>
<p>{$email|substr=0,3}</p>
<p>{$phone|default=13784848484}</p>
<p>{$time|date='Y-m-d H:i:s',###}</p>
<p>{$email|md5|substr=###,0,5}</p>
</body>
</html>
控制器文件:
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
$this->assign('email','[email protected]');
$this->assign('username','dobby');
$this->assign('time',time());
return $this->fetch('index');
}
}
六、視圖中變量計算
<h1>這是index/index.html</h1>
<p>a+b={$a+$b}</p>
<p>a-b={$a-$b}</p>
<p>a*b={$a*$b}</p>
<p>a/b={$a/$b}</p>
<p>b%a={$b%$a}</p>
<p>a++={$a++}</p>
<p>a--={$a--}</p>
<p>++a={++$a}</p>
<p>--a={--$a}</p>
namespace app\index\controller;
use think\Controller;
class Index extends Controller{
public function index(){
$this->assign('a',10);
$this->assign('b',20);
$this->assign('c',5);
return $this->fetch('index');
}
}
七、視圖的註釋
HTML的註釋 <!---->,瀏覽器上顯示;
視圖的註釋{/**/},瀏覽器上不顯示