ThinkPHP学习笔记(二)MVC模式和URL访问

ThinkPHP学习笔记(一)环境搭建

ThinkPHP学习笔记(二)MVC模式和URL访问

ThinkPHP学习笔记(三)输出

ThinkPHP学习笔记(四)模型与数据库

ThinkPHP学习笔记(五)使用模型操作数据库之CURD

ThinkPHP学习笔记(六)使用CURD对User数据库数据进行删除和修改

ThinkPHP学习笔记(七)深入学习数据库查询



一、新建项目

1、项目目录为ThPHP,项目创建细节 http://blog.csdn.net/lizhongfu2013/article/details/9673271

ThinkPHP学习笔记(二)MVC模式和URL访问_第1张图片

二、MVC

1、MVC概念:M -Model 编写model类 对数据进行操作
                   V -View  编写html文件,页面呈现
                   C -Controller 编写类文件(UserAction.class.php)

2、ThinkPHP的MVC对应的目录:


 V 项目目录/应用目录/Tpl
                   

ThinkPHP学习笔记(二)MVC模式和URL访问_第2张图片


M 项目目录/应用目录/Lib/Model

C 项目目录/应用目录/Lib/Action

ThinkPHP学习笔记(二)MVC模式和URL访问_第3张图片


三、URL访问的4中方式(PATHINFO 模式是重点)


1、PATHINFO 模式:http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2

(1)实例:

ThinkPHP学习笔记(二)MVC模式和URL访问_第4张图片



其中模块名对应MVC中的文件名(C 项目目录/应用目录/Lib/Action)

ThinkPHP学习笔记(二)MVC模式和URL访问_第5张图片



IndexAction.class.php中实现:

ThinkPHP学习笔记(二)MVC模式和URL访问_第6张图片


(2)参数分隔符由“/” 改为 “-” (不能马上看到效果,可能是缓存问题<项目目录->Runtime文件夹)

进入 项目文件夹-Conf文件夹,修改config.php,增加配置项:'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符

http://localhost/ThPHP/index.php/index-show-name-lizhongfu-age-26

return array(
//'配置项'=>'配置值'
'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符
);
?>


(3)打开调试模式(不保留缓存)

在应用入口文件(index.php)添加一个常量开启:

ThinkPHP学习笔记(二)MVC模式和URL访问_第7张图片



2、普通模式:http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2

还是Home-Lib-Action-IndexAction.class.php中实现:

可以这样访问:http://localhost/ThPHP/index.php?m=index&a=show&name=lizhongfu&age=27

与1、PATHINFO 模式一样的效果。


3、REWRITE模式:http://域名/项目名/模块名/方法名/键1/值1/键2/值2

首先修改Apache配置文件,AppServ\Apache2.2\conf\httpd.conf,查找rewrite,去掉前边的#,然后重启服务,然后在入口文件目录下创建 .htaccess文件(前边的点不能省略):


.htaccess 的内容:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]


4、兼容模式(累死1和2方式混合):http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2


你可能感兴趣的:(PHP)