批改状态:合格
老师批语:
<?php
namespace app\index\controller;
// use think\facade\View;
use think\Controller;
class Index extends Controller
{
public function index()
{
return "<h1>hello world</h1>";
}
public function demo1(){
$name = "petter 313";
// return $name;
// fetch('模版表达式')
// 模版表达式:模块@控制器/操作方法
// return View::display("我的名字叫".$name);
// return View::fetch('index@index/demo1',['name'=>$name]);
// return $this->view->fetch('index@index/demo1',['name'=>$name]);
// 越过view属性调用fetch
// return $this->fetch('index@index/demo1',['name'=>$name]);
// 越过模版表达式
$this->assign('name',$name);
return $this->fetch();//参数1可以为空
// 也可使用助手函数view,不依赖任何类
// return view('demo1',['name'=>$name]);
}
// 模版赋值
public function demo2(){
// 1assign('模版变量','值')
$name = 'zk';
$this->view->assign('name',$name);
// 2fetch('模版','赋值数组')赋值
// 3对象赋值
$this->view->money = '5000';
return $this->view->fetch();
}
// 模版过滤
public function demo3(){
$this->view->name = 'zk';
$this->view->money = '5000';
$filter = function($content){
return str_replace('zk','owlcity',$content);
};
return $this->filter($filter)->fetch();
}
// 模版布局
public function demo4(){
/**
* 1:全局配置
* config/template
* 2:模版标签进行配置
* -1:不依赖全局配置,在模版中直接用标签进行控制
* -2:{layout name="布局模版名"}
* -3:{关闭布局 __NOLAYOUT__}
* 3:动态配置
*/
// 开启布局
// $this->view->engine->layout('layout','{__TEXT__}'); //layout 参数二可以自定义与模版内容常量相同
// $this->view->engine->layout('layout');
// 关闭布局
// $this->view->engine->layout(false);
// return $this->view->fetch();
// 链式操作
$this->view //调用视图对象
->engine //开启模版引擎
->layout('layout') //开启模版布局
->fetch('index/demo4'); //渲染模版
}
// 模版继承
public function demo5(){
return $this->view->fetch();
}
}模版布局 view/base.html
{//基础模版只允许出现block标签}
{block name="header"}
{include file="public/header"}
{/block}
{block name="main"}主体部分{/block}
{block name="course"}
thinkphp
{/block}
{block name="footer"}
{include file="public/footer"}
{/block}自模版demo5.html
{extend name="base"}
{//将父模版中的main区块进行重写}
{block name="main"}
<h1>将父模版中的main区块进行重写</h1>
{/block}
<!-- 在子模版中写在区块之外的内容全部忽略 -->
<p>额外额外额外</p>
{block name="course"}
<h2>{__block__}1111</h2>
{/block}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号