ThinkPHP入门_慕课网
来源:互联网 发布:云系统卡盟源码 编辑:程序博客网 时间:2024/05/20 10:13
一、简介
1、MVC简介
![MVC框图](http://img.blog.csdn.net/20160914142126707)![MVC框架总结](http://img.blog.csdn.net/20160914142154941)
2、THinkPHP简介
1.单一入口:在一个网站中,所有的请求都指向一个脚本文件,项目结构规范,控制灵活,更加安全
实例代码: <?php define('APP_NAME','App'); define('APP_PATH','./App/');//特别注意后面的/ require('./ThinkPHP/ThinkPHP.php'); ?>
3、THinkPHP目录简介
->common 存放当前项目的公共函数->Conf 存放当前项目的配置文件:C('name'):输出配置项->Lang 存放当前项目的语言包->Lib 存放当前项目的控制器和模型->Runtime 存放当前项目的运行时文件->Tpl 存放当前的模板文件
二、简单操作
1、THinkPHP运行流程
1.加载ThinkPHP.php2.加载核心文件3.加载项目的文件 分析url 调用相关控制器 ->m module 模块 控制器 ->a action 方法 action=页面==>localhost/index.php?m=index&a=index
2、THinkPHP的URL模式
//echo U('Index/user',array('id'=>1),'html',false,'localhost'); 1:默认模式(pathinfo模式):/ThinkPHPStudy/index.php/Home/Index/user/id/1.html 0:普通模式: /ThinkPHPStudy/index.php?m=Home&c=Index&a=user&id=1 2:重写模式: /ThinkPHPStudy/Home/Index/user/id/1.html(隐藏index.php) 3:兼容模式: /ThinkPHPStudy/index.php?s=/Home/Index/user/id/1.html->查看url模式:C('URL_MODEL')->U('模式/方法',array('id'=>1),'html',true/false,localhost)->重写url用来隐藏index.php 1.开启Apache服务的rewrite服务 2.在index.php的同级目录下创建.htaccess文件 内容/:<IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>->url的伪静态配置: 'URL_HTML_SUFFIX'=>'html|json', // URL伪静态后缀设置
3.自定义函数库
在APP/Home/Common目录下创建function.php文件,面的函数为公用函数库
三、模板技术
1、模板的使用
1.在App/Home/View目录下创建一个以模板为名字的文件夹,如Index,在Index下创建一个以方法名为名字的html文件,如index.html。2.在控制器的方法上使用: $this->display()方法进行调用。 ->display('test')可以指定参数,对应test.html,也可以跨模块,如:display('User/index')3.传递参数 ->在控制器上使用$this->name = 'String'或者$this->assign('name1','ABC')->assign('name2','EFG') ->在html页面上使用php语法输出,如echo name
2、ThinkPHP模板引擎
1.输出:{$zxj.name}/{$zxj['name']}/{$zxj.phone|default='13023000000'} 2.运算:{$zxj['age']+1},注:此时不能使用.表达式,否则无法输出结果 3.调用函数:{$zxj|md5|substr()} 4.循环输出:volist/foreach
<volist name = 'person' id='data' offset='1' length='3' empty='没数据啦'> {$data['name']}--------{$data['age']}<br> </volist> <foreach name='person' item='data'> {$data.name}------------{$data.age}<br> </foreach> // name:后台传输过来的数组 // offset:从哪一条数据取值,初始值为 0 // length:取多少条数据
5.IF判断: eq:= nep:!= gt:> egt:>= lt:< elt:<= heq:=== nheq:!==
<if condition='$num gt 10'> num大于10 <elseif condition='$num lt 10' /> num小于10 <else/> num等于10</if>
6.ThinkPHP特有的比较标签<eq name='num' value='10' >num = 10</eq><compare name='name' value='11' type='eq' >num == 11</compare>7.区间标签:in notin between notbetween range ->:<in name='num' value='1,2,3'>在这个区间</in> ->:<between name='num' value='1,10'>在1~10之间</between> ->:<range name='num' value='1,2,4' type='in'></range>8.三元运算符: ?: {$num>11?'大于11':'不大于11'}9.在模板中使用原生php <php> echo 'advd' </php>
四、数据库技术
1、模板的使用
1.配置: 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'muke', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => 'root', // 密码 'DB_PORT' => '3306', // 端口 'DB_PREFIX' => 'mk_' // 数据库表前缀2.实例化模型 //1.实例化基础模型 $privilege = M('privilege'); $data = $privilege -> select(); dump($data); //2.自定义模型 1.在model文件下创建模型文件,如UserModel.class.php 2.在controller中实例化该模型 //3.实例化公共模型 1.编写CommonModel集成Model 2.编写相应的自定义模块并集成CommonModel //4.实例化空模型 $model = M(); $model->query('select * from t_user');//读取 $model->execute('update t_user set user_name = "haha" where u_id = 1'); ->:M方法和D方法的区别:D('user') M方法只能实例化基础的模型 D方法会先去寻找自定义模型,若找到了,则实例化该自定义模型,否则会使用M方法实例化基础模型
2、CURD操作
1.添加数据 $data = array('user_name' => 'xiaoming', 'nick_name' => 'xiaomingming', 'password' => md5('123456'), 'create_date' => date('Y-m-d H:i:s'), 'update_date' => date('Y-m-d H:i:s'), ); <>M('User') -> add($data); ->:返回插入的数据的主键 <>addAll($dataList);->批量插入数据,仅限mysql数据库 <>getLastSql();->获取最后执行的一条数据库语句2.查询数据 // 查询所有 $data = M('User') ->select(); dump($data); echo('<hr>'); //查询一种条件 $data = M('User') -> where('id=2')->select(); dump($data); echo('<hr>'); //多条件查询 $where['id']=2; $where['user_name']='xiaoming'; $where['_logic']='or'; $data = M('User') -> where($where)->select(); dump($data); echo('<hr>111'); //表达式查询:eq neq egt gt lt elt between in like not between // $where['字段名']=array(表达式,查询条件);// $where['id'] = array('lt',2);//单条件// $where['id'] = array('between','1,8'); //双参数条件// $where['id'] = array('like','%xiao%'); //模糊条件// $where['id'] = array('like',array('%xiao','ming%')); //双模糊条件 $where['id'] = array(array('gt',1),array('lt',3),'or'); // 区间查询 $data = M('User') -> where($where)->select(); dump($data); echo('<hr>'); //统计用法 /** * count:统计数量 * max:获取最大值 * min:最小值 * avg:平均值 * sum:求和 */ $data = M('user')->count(); $data = M('user')->max('user_name'); $data = M('user')->avg('score'); $data = M('user')->sum('score'); dump($data);3.更新数据 $update['score'] = 60; $where['id']=1; $data = M('User')->where($where)->save();4.删除数据 $where['id']=1; $data = M('User')->where($where)->delete() 也可以直接使用主键删除:M('User').delete(3);
0 0
- ThinkPHP入门_慕课网
- ThinkPHP视频教程_ThinkPHP入门和介绍_李文凯_1
- ThinkPHP 入门
- ThinkPHP入门
- ThinkPHP入门
- ThinkPHP入门
- thinkphp入门
- ThinkPHP入门
- thinkphp入门
- ThinkPHP快速入门5_循环和控制输出,公共模板和模板布局
- ThinkPHP 入门文档
- thinkphp 框架入门
- ThinkPHP 入门篇
- ThinkPHP 这样入门
- ThinkPHP入门心得
- ThinkPHP 快速入门
- thinkphp入门(一)
- ThinkPHP配置入门实例
- 经过Base64加密后字符的长度变化
- pip常用命令
- XMind中的流程图该怎么实现快速制作
- 基本概念-1
- bootstrap之datetimepicker使用配置
- ThinkPHP入门_慕课网
- PGM:基于模板的表示
- html中 cookie设置
- JavaScript事件的对象
- 《常见算法和数据结构》元素排序(6)——重头戏:快速排序
- eclipse中项目一般部署路径
- HDU 1272 (并查集)
- iOS10 相机的闪退
- IOS 上传图片或视频