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.列明就可以直接得到列的值了。
最新文章
- bzoj3876: [Ahoi2014]支线剧情
- Odoo启动过程
- GetStartedWithWin10Develop
- 一种json生成html的思路
- ASP.NET GridView HyperLinkField传值和取值【转】
- BZOJ 1821 部落划分
- c++ 设计模式3 (重构技法 Template Method)
- uva 434
- 格式化用jad反编译混淆过的代码,能去大部分错误 (zhuanzai)
- SQL Server 连接和事务相关的问题。
- XML字符串解析成对象的时候应注意空格
- Java 字符终端上获取输入三种方式
- Hyperledger Fabric Model——超级账本组成模型
- 项目实战14—ELK 企业内部日志分析系统
- Checkbutton
- T-SQL基础(六)之可编程对象
- 17,EasyNetQ-替换EasyNetQ组件
- laravel模型关联:
- 学习笔记之WinSCP
- 20145105 《Java程序设计》第10周学习总结
热门文章
- 【linux使用】bash shell命令行常用快捷键
- 第82天:jQuery中prop()和attr()的区别
- jquery 添加与删除的规律 当要添加时候要定位到自己的父元素 当要删除时候 通过事件函数传入的this找到自己的父元素进行删除
- Contest 3
- C++解析(9):关于const和引用的疑问
- C++解析(8):C++中的新成员
- String Problem HDU - 3374(最大最小表示法+循环节)
- App简介及登录页面
- (转)MS14-068域内提权漏洞总结
- Error: Chromium revision is not downloaded. Failed to download Chromium