tp5如何实现跨模块渲染html_thinkphp5 - TP5 下,页面渲染问题?

在TP5中,原来使用`$this->display()`进行页面渲染,但升级到TP5后,改为了`return view();`。当存在多个步骤需要执行时,如何处理返回与渲染的问题?解决方案是通过原样输出HTML并使用`echo $this->display($html)`来渲染内容。
摘要由CSDN通过智能技术生成

问 题

TP5 之前的做法:

//创建数据库

$dbconfig['DB_TYPE']="mysql";

$dbconfig['DB_HOST']=I('post.dbhost');

$dbconfig['DB_USER']=I('post.dbuser');

$dbconfig['DB_PWD']=I('post.dbpw');

$dbconfig['DB_PORT']=I('post.dbport');

$db = Db::getInstance($dbconfig);

$dbname=strtolower(I('post.dbname'));

$sql = "CREATE DATABASE IF NOT EXISTS `{$dbname}` DEFAULT CHARACTER SET utf8";

$db->execute($sql) || $this->error($db->getError());

// 这边做了一次渲染的动作

$this->display(":step4");

//创建数据表

$dbconfig['DB_NAME']=$dbname;

$dbconfig['DB_PREFIX']=trim(I('post.dbprefix'));

$db = Db::getInstance($dbconfig);

$table_prefix=I("post.dbprefix");

sp_execute_sql($db, "thinkcmf.sql", $table_prefix);

TP5的做法:

//创建数据库

$dbconfig['DB_TYPE']="mysql";

$dbconfig['DB_HOST']=I('post.dbhost');

$dbconfig['DB_USER']=I('post.dbuser');

$dbconfig['DB_PWD']=I('post.dbpw');

$dbconfig['DB_PORT']=I('post.dbport');

$db = Db::getInstance($dbconfig);

$dbname=strtolower(I('post.dbname'));

$sql = "CREATE DATABASE IF NOT EXISTS `{$dbname}` DEFAULT CHARACTER SET utf8";

$db->execute($sql) || $this->error($db->getError());

// 这边直接return了

return view("step4");

//创建数据表

$dbconfig['DB_NAME']=$dbname;

$dbconfig['DB_PREFIX']=trim(I('post.dbprefix'));

$db = Db::getInstance($dbconfig);

$table_prefix=I("post.dbprefix");

sp_execute_sql($db, "thinkcmf.sql", $table_prefix);

问题就是:

现在的TP5的渲染直接return了当前的控制器,如果我有很多步骤要执行,该如何处理?

请问有什么解决方案吗?

解决方案

-!自己解决了:

使用<<< 将html原样输出

用echo $this->display($html)渲染内容即可。

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值