ThinkPhp学习02
原文:ThinkPhp学习02
一、什么是MVC
M -Model 编写model类 对数据进行操作
V -View 编写html文件,页面呈现
C -Controller 编写类文件(UserAction.class.php)
二、ThinkPHP的MVC特点
三、ThinkPHP的MVC对应的目录
M 项目目录/应用目录/Lib/Model
V 项目目录/应用目录/Tpl
C 项目目录/应用目录/Lib/Action
四、url访问C
五、url的4种访问方式
1.PATHINFO 模式 -- 重点!!!!!!
http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
如:http://localhost/thinkphp/test/index.php/Index/show
PATHINFO模式下面,URL是可定制的,例如,通过修改config.php下面的配置:
<?php
return array(
//'配置项'=>'配置值'
'URL_PATHINFO_DEPR'=>'-', // 更改PATHINFO参数分隔符.默认是/
//'URL_CASE_INSENSITIVE' =>true, //开启不区分大小写 );
?>
2.普通模式
http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
如:http://localhost/thinkphp/test/index.php?m=Index&a=show
3.REWRITE模式
http://域名/项目名/模块名/方法名/键1/值1/键2/值2
(1)需要apache支持,打开httpd.conf
开启rewrite功能,并重启apache
#LoadModule rewrite_module modules/mod_rewrite.so //去掉#号
(2)将.htaccess放置到项目文件夹下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
ok,然后就可以http://localhost/thinkphp/test/Index/show 直接访问了,而不需要添加index.php
4.兼容模式
http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
如:http://localhost/thinkphp/test/Index.php/?s=Index/show
在调整初期会遇到缓存问题可以通过删除Runtime文件夹,或者开启debug模式
//开启调试模式,默认是关闭
define('APP_DEBUG',true);
注意开启debug模式后 要注意url上大小写规范,否则会报错,也可以在config.php设置
'URL_CASE_INSENSITIVE' =>true, //开启不区分大小写
ThinkPhp学习02的更多相关文章
- ThinkPHP学习总结
ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...
- JavaScript学习02 基础语法
JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...
- Java虚拟机JVM学习02 类的加载概述
Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...
- Python学习02 列表 List
Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...
- Android Testing学习02 HelloTesting 项目建立与执行
Android Testing学习02 HelloTesting 项目建立与执行 Android测试,分为待测试的项目和测试项目,这两个项目会生成两个独立的apk,但是内部,它们会共享同一个进程. 下 ...
- Java学习02
Java学习02 1.导入内部的包 一.在包的下面加入下面一句话: import java.util.Scanner; 二.在类中 Scanner input=new Sanner(Sy ...
- ThinkPhp学习13
原文:ThinkPhp学习13 简单登录验证 创建Login类 <?php class LoginAction extends Action { function index(){ $this- ...
- ThinkPhp学习12
原文:ThinkPhp学习12 二.输出模板内容 (重点) a.display 1.display中没有参数 $this->display(); 2.可以带参数 $this ...
- ThinkPhp学习11
原文:ThinkPhp学习11 一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[i ...
随机推荐
- SD-关于定价日期的设置
最近看了一篇关于定价日期的文章,我觉得写得很不错,特将自己的理解摘抄如下: 关于SD的定价日期在SAP系统中有三个配置与其相关,以及手工输入定价日期,具体如下: 1.订单类型的“定价日期建议“ 这个字 ...
- NEC协议
注意: 用示波器在接收头抓的电平看起来和NEC协议刚好相反, 那是因为:HS0038B 这个红外一体化接收头,当收到有载波的信号的时候,会输出一个低电平,空闲的时候会输出高电平. 具体情况,具体分析. ...
- BZOJ 3173: [Tjoi2013]最长上升子序列( BST + LIS )
因为是从1~n插入的, 慢插入的对之前的没有影响, 所以我们可以用平衡树维护, 弄出最后的序列然后跑LIS就OK了 O(nlogn) --------------------------------- ...
- jquery实现ajax提交form表单的方法总结
本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一: function AddHandlingFeeToRefund( ...
- ADO.NET 操作数据库 --- 01 简单封装
由于我是Java转的C#开始的时候就用的NHihernate,和EF 对ADO.NET使用较少,现在封装一个ADO.NET的工具类来实现数据库的操作,比较简单,望大家多多提意见. 如果大家有什么学习中 ...
- HDU 4726 Kia's Calculation (贪心算法)
Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- SSH2三大框架整合出错(四)
<%@taglib prefix="c" uri="http://java.sun.com/jsf/core" %> usage: java org ...
- Qt图片显示效率的比较 转
转http://blog.sina.com.cn/s/blog_5c70dfc80100r257.html 在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能 ...
- spring 整合redis
用的是最新的jedis-2.6.2.jar这个包,这个和以前的有点不同.还需要添加spring-data-redis-1.2.1.RELEASE.jar和commons-pool2-2.3.jar. ...
- 基于visual Studio2013解决面试题之0603调整数组
题目