您的位置:首页 > 编程语言 > PHP开发

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

2013-08-01 22:18 141 查看


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

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

ThinkPHP学习笔记(三)输出

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

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

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

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






一、新建项目

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



二、MVC

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

2、ThinkPHP的MVC对应的目录:

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



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

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



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

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

(1)实例:



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



IndexAction.class.php中实现:



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

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

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

<?php

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

);

?>

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

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



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 的内容:

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

</IfModule>

4、兼容模式(累死1和2方式混合):http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: