CI4框架应用五 - 加载视图
这节我们来看一下CI4框架中视图的加载, CI4中提供了几种方式加载视图。
1. 利用CI4框架提供的全局函数view(‘模板名’),如果需要传参数可以在第二个参数传一个数组
我们先修改一下之前定义的方法,改用视图模板的方式来输出内容
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
return view('welcome');
}
}
然后我们在Views目录下新建模板文件welcome.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视图加载</title>
</head>
<body>
<h3>视图加载</h3>
<p>这是一个通过视图加载的页面!</p>
</body>
</html>
我们来看一下页面效果

我们再来给页面传递2个参数
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
$data = [
'author' => '小白加小白',
'created_time' => date('Y-m-d H:i:s')
]; return view('welcome', $data);
}
}
再修改一下视图模板
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>视图加载</title>
</head> <body>
<h3>视图加载</h3>
<p>作者:<?= $author; ?></p>
<p>时间:<?= $created_time; ?></p>
<p>这是一个通过视图加载的页面!</p>
</body> </html>
再看一下页面效果

2. 我们再看一下其他的视图加载方式
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
$view = \Config\Services::renderer(); return $view->setVar('author', '小白加小白')
->setVar('created_time', date('Y-m-d H:i:s'))
->render('welcome');
}
}
3. 页面展示效果和第一种方法一致,我们再看下另一种加载方法
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
$view = new \CodeIgniter\View\View(new \Config\View()); $data = ['author' => '小白加小白', 'created_time' => date('Y-m-d H:i:s')]; return $view->setData($data)->render('welcome');
}
}
这样也可以得到同样的页面内容。
总结:
第一种方法是框架提供的全局函数,简单易用
第二种和第三种方法先得到一个渲染器,然后去渲染一个模板,通过setVar和setData的方式传递参数
注意:我们是通过return返回渲染后的模板内容的,我们也可以通过echo的方式输出模板内容,那么我们是否可以return的方式返回一个数字呢?
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
return 1;
}
}
我们看到页面是没有输出内容的

我们如果返回一个字符串的数字呢
<?php namespace App\Controllers; class Home extends BaseController
{
public function welcome()
{
return "1";
}
}
再刷新一下页面

所以,在控制器中只有return字符串类型的数据才能在页面展示
CI4框架应用五 - 加载视图的更多相关文章
- Maven SSH三大框架整合的加载流程
<Maven精品教程视频\day02视频\03ssh配置文件加载过程.avi;> 此课程中讲 SSH三大框架整合的加载流程,还可以,初步接触的朋友可以听一听. < \day02视频\ ...
- 环形动画加载视图AnimatedCircleLoadingView
环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于Android手表动画android-watch-loading-anima ...
- python web开发之flask框架学习(2) 加载模版
上次学习了flask的helloword项目的创建,这次来学习flask项目的模版加载: 第一步:创建一个flask项目 第二步:在项目目录的templates文件夹下创建一个html文件 第三步: ...
- cesium 学习(五) 加载场景模型
cesium 学习(五) 加载场景模型 一.前言 现在开始实际的看看效果,目前我所接触到基本上都是使用Cesium加载模型这个内容,以及在模型上进行操作.So,现在进行一些加载模型的学习,数据的话可以 ...
- SwiftUI - 一步一步教你使用UIViewRepresentable封装网络加载视图(UIActivityIndicatorView)
概述 网络加载视图,在一个联网的APP上可以讲得上是必须要的组件,在SwiftUI中它并没有提供如 UIKit 中的UIActivityIndicatorView直接提供给我们调用,但是我们可以通过 ...
- 十五、CI框架之自动加载数据库
一.在config的autoload.php文件中,如果写入以下代码,那么在控制器中无需再次加载数据库了,相当于全局自动加载数据库了 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码 ...
- Android项目框架之图片加载框架的选择
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 从Android爆发以后,自定义的控件如EditTextWithDelete.ActionBar.P ...
- Android Developers:按需求加载视图
有时候你的布局可能需要较少使用的复杂视图.无论它们是项目详情,进度指示器,或者处理的信息,你能通过在它们被需要的时候加载的方式,来减少内存消耗和加快显示. 定义一个ViewStub ————————— ...
- Crystal框架配置参数加载机制详解?
前言 定义 配置参数定义的形式 配置参数文件定义在哪里? 配置参数加载的优先级 如何使用配置参数? 最佳实践 Jar项目中如何定义配置参数? War项目中如何定义或重载Jar包中的配置参数? 开发人员 ...
随机推荐
- js代码段
1.数组去重 Array.prototype.DuplicateRemoval = function(){ let res = [this[0]]; for(let i = 1; i < thi ...
- STM32H743 | FDCAN 波特率问题
直奔主题,最近项目上接触了FDCAN,主控为STM32H743.在开发过程中存在了几点疑惑,特此记录. 波特率设置问题 CAN通讯的波特率计算方式为: BaudRate = Tq *(SYNC_SEG ...
- 微信小程序热更新,小程序提示版本更新,版本迭代,强制更新,微信小程序版本迭代
相信很多人在做小程序的时候都会有迭代每当版本迭代的时候之前老版本的一些方法或者显示就不够用了这就需要用到小程序的热更新.或者说是提示升级小程序版本 editionUpdate:function(){ ...
- 09-Python异常
一.简介 在实际的工作过程中,我们会遇到各种问题,比如文件不存在,代码运行不符合某些特定逻辑等,程序在运行时,遇到这些问题便会发生异常.英文是Exception. a = float(input('请 ...
- 机器学习实战---决策树CART简介及分类树实现
https://blog.csdn.net/weixin_43383558/article/details/84303339?utm_medium=distribute.pc_relevant_t0. ...
- 2.UDP协议
UDP只在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能. 应用层给UDP多长的报文,UDP就照样发送,即一次发送一个完整报文 一.UDP首部格式 这里的长度是指(首部+数据) UDP校验 ...
- STL源码剖析:关联式容器
AVL树 AVL树定义:红黑树是一颗二叉搜索树,特别的是一棵保持高度平衡的二叉搜索树 AVL树特点: 每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1 AVL树插入: 说明:新增节点的平衡因子 ...
- 题解 SP1841 【PPATH - Prime Path】
模拟赛考到了这个题,但我傻傻的用了\(DFS\),于是爆了零 后来才想明白,因为搜索树的分支很多,但答案的深度却又没有那么深,所以在这里\(BFS\),而\(DFS\)一路搜到底的做法则会稳稳地\(T ...
- FaaS 给前端带来了什么?
一.Serverless 与 FaaS Serverless 是一种云计算理念,即无服务器计算(Serverless Computing): Serverless suggests that the ...
- 基于Python爬虫采集天气网实时信息
相信小伙伴们都知道今冬以来范围最广.持续时间最长.影响最重的一场低温雨雪冰冻天气过程正在进行中.预计,今天安徽.江苏.浙江.湖北.湖南等地有暴雪,局地大暴雪,新增积雪深度4-8厘米,局地可达10- ...