ThinkPHP的输出和模型使用
1.假设在v层需要输出一个变量怎么办呢?即如同在html当中输出php代码。
可以直接使用{$name}代替。花括号被称之为标识符。可以通过修改配置项('TMPL_L_DELIM'=>'<(')进行修改L是左标识符,R是右标识符。
V层
<!DOCTYPE html>
<html>
<head>
<title>title</title>
</head>
<body>
{$data}
</body>
</html>
在使用{$name}之前需要在控制器当中申明好这个的值。使用$this->assign去设置。第一个参数即为要调用的变量,第二个参数即为值。
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$name = "def";
$this->assign('data',$name);
$this->display();
}
public function admin(){
echo "this is admin";
}
}
所以输出的就是:def

2.要怎么跟数据库连接?
在配置项里(Conf/config.php)
添加如下配置项
'DB_TYPE'=>'mysql', //设置数据库类型
'DB_HOST'=>'localhost',//设置主机
'DB_NAME'=>'thinkphp',//设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀
以上是一个方法也可以直接:
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
然后在控制器当中使用new Model('表明');进行使用
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$m = M('tp_user');
$arr = $m->select();
echo "<pre>";
var_dump($arr);
echo "</pre>";
$this->assign('data',$arr[0]['username']);
$this->display();
}
public function admin(){
echo "this is admin";
}
}

PS:在测试的时候不知道为什么连接的表明会将数据库名也给加上,也就是笨啦我实例化的表明是tp_user我的数据库是thinkphp,那么就会莫名其妙的变成thinkphp_tp_user。所以在创建数据库的时候要将库名带上。否则会一直没有数据。
3.假设输出的值是一个数组咋办?
就好比第二个问题里,已经将从数据库里获取到的值拿到了,这个时候是数组。那么我们直接通过$this->assign('data',$arr);直接输出以后需要在V层使用<volist>标签进行遍历数组。
格式:<volist name='标识符' id='idsss'>{$idsss.列1}------{$idsss.列2}</volist> #标识符就是那个变量,idsss就好比你又重新起个名字,通过idsss.列明就可以直接得到列的值了。

ThinkPHP的输出和模型使用的更多相关文章
- [ThinkPHP] 输出、模型的使用
# # ThinkPHP 3.1.2 输出和模型使用 # 讲师:赵桐正 微博:http://weibo.com/zhaotongzheng 本节课大纲: 一.ThinkPHP 3 的输出 ...
- LittleTools之网格输出为模型
我经常要在Unity中生成一些网格,但是这些网格需要交给美工修改,所以又要将网格输出为模型.于是就有了下面的代码: using UnityEngine; using UnityEditor; usin ...
- thinkphp命令行生成模型类
thinkphp命令行生成模型类 当你需要创建大量的模型类的时候,不妨考虑下命令行生成,可以快速创建模型类. 在windows下面,使用Win+R输入cmd进入命令控制台,切换到项目根目录(也就是th ...
- thinkPHP模板的输出和模型的使用
a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出 想分配变量可以使用assign方法 c.修改左右定界符 休要修改配置文件中的配置项 'TMPL_L_DELIM' ...
- ThinkPHP 3.1.2 输出和模型使用 配置项等 - 2
一.ThinkPHP 3 的输出 (重点) a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出 想分配变量可以使用assign方法 c.修改左右定界符 休 ...
- ThinkPHP学习笔记 实例化模型的四种方法
创建Action类 [php] <?php class NewObjectAction extends Action{ public function index(){ ...
- thinkphp 多对多关联模型(转)
先建立一个模型 1 2 3 4 5 6 7 8 9 10 11 12 <?php class UserModel extends RelationModel{ protected $ ...
- thinkphp 变量输出
在模板中输出变量的方法很简单,例如,在控制器中我们给模板变量赋值: 大理石平台支架 $name = 'ThinkPHP'; $this->assign('name',$name); $this- ...
- thinkphp 3.2 视图模型 实例 视图查询结果 二维数组 合并
使用视图模型查询的时候 结果是这样的 array(6) { [0] => array(5) { ["picTitle"] => string(7) "标题2& ...
随机推荐
- 只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类
- 【loj6038】「雅礼集训 2017 Day5」远行 树的直径+并查集+LCT
题目描述 给你 $n$ 个点,支持 $m$ 次操作,每次为以下两种:连一条边,保证连完后是一棵树/森林:询问一个点能到达的最远的点与该点的距离.强制在线. $n\le 3\times 10^5$ ,$ ...
- day06 小数据池和编码
一. 上次课内容回顾字典:由{}括起来. 每个元素用逗号隔开, key:value的形式存储数据key: 不可变的. 可哈希的.增删改查:1. 增加: 直接用新key来赋值. dict[key] = ...
- (转)java web自定义分页标签
转载至http://liuxi1024.iteye.com/blog/707784 效果如图: 1.JSP规范1.1版本后增加了自定义标签库.实现自定义标签的步骤 (1)开发自定义标签处理类. (2) ...
- [洛谷P4563][JXOI2018]守卫
题目大意:有一段$n(n\leqslant5\times10^3)$个点的折线,特殊点可以覆盖它以及它左边的它可以“看见”的点(“看见”指连线没有其他东西阻挡).定义$f_{l,r}$为区间$[l,r ...
- struts2(s2-052)远程命令执行漏洞复现
漏洞描述: 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为C ...
- Linux内核分析8
周子轩 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验目的: 使用gdb ...
- Codeforces 576C. Points on Plane(构造)
将点先按x轴排序,把矩形竖着划分成$10^3$个块,每个块内点按y轴排序,然后蛇形走位上去. 这样一个点到下一个点的横坐标最多跨越$10^3$,一共$10^6$个点,总共$10^9$,一个块内最多走$ ...
- jar包下载地址(fasterxml.jackson)
jar包下载地址(fasterxml.jackson) Home » com.fasterxml.jackson » core jar包下载地址 https://mvnrepository.com/a ...
- NYOJ--139
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=139 分析:cantor展开,康托展开用于计算一个排列的序数.公式为: X=a[n]*n! ...