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& ...
随机推荐
- Tomcat安装及配置详解
Tomcat安装及配置详解 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Found ...
- java和mysql的length()区别及char_length()
一. mysql里面的有length和char_length两个长度函数,区别在于: length: 一个汉字是算三个字符,一个数字或字母算一个字符. char_length: 不管汉字还是数字或者是 ...
- 洛谷P2740 [USACO4.2]草地排水Drainage Ditches
题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...
- Django 2.0 学习(16):Django ORM 数据库操作(下)
Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...
- 题解 P5015 【标题统计】
既然这个题这么水 大家不如来盘点一下算法呗 首先说一个事:逗号表达式 这玩意的值是最后一个表达式的值 那么我们就可以愉快的放进循环条件里摩擦 话说这个应该是基础吧,大多数代码都可以这样干 具体可以后面 ...
- 【刷题】BZOJ 2753 [SCOI2012]滑雪与时间胶囊
Description a180285非常喜欢滑雪.他来到一座雪山,这里分布着M条供滑行的轨道和N个轨道之间的交点(同时也是景点),而且每个景点都有一编号i(1<=i<=N)和一高度Hi. ...
- Linux系统启动详解(一)
本篇主要以Centos为例,讲述整个Linux系统启动过程,包括了grub引导,initramfs流程,/sbin/init执行rc.sysinit及rc的大体流程. 另外,本篇有一个实例来说明,将整 ...
- CDN公共库、前端开发常用插件一览表(VendorPluginLib)
=======================================================================================前端CDN公共库===== ...
- Mysql(一) 基本操作
一.介绍 1.数据库 数据库,通俗的讲,即为存储数据的“仓库”.不过,数据库不仅只是存储,还对所存储的数据做相应的管理,例如,访问权限,安全性,并发操作,数据的备份与恢复,日志等.实际上,我们所提及的 ...
- Hdu5693 D Game
D Game Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...