原文: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的更多相关文章

  1. ThinkPHP学习总结

    ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...

  2. JavaScript学习02 基础语法

    JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...

  3. Java虚拟机JVM学习02 类的加载概述

    Java虚拟机JVM学习02 类的加载概述 类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对 ...

  4. Python学习02 列表 List

    Python学习02 列表 List Python列表 List Python中的列表(List)用逗号分隔,方括号包围(comma-separated values (items) between ...

  5. Android Testing学习02 HelloTesting 项目建立与执行

    Android Testing学习02 HelloTesting 项目建立与执行 Android测试,分为待测试的项目和测试项目,这两个项目会生成两个独立的apk,但是内部,它们会共享同一个进程. 下 ...

  6. Java学习02

    Java学习02 1.导入内部的包 一.在包的下面加入下面一句话: import    java.util.Scanner; 二.在类中 Scanner input=new     Sanner(Sy ...

  7. ThinkPhp学习13

    原文:ThinkPhp学习13 简单登录验证 创建Login类 <?php class LoginAction extends Action { function index(){ $this- ...

  8. ThinkPhp学习12

    原文:ThinkPhp学习12 二.输出模板内容      (重点) a.display 1.display中没有参数    $this->display(); 2.可以带参数    $this ...

  9. ThinkPhp学习11

    原文:ThinkPhp学习11 一.模板的使用        (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[i ...

随机推荐

  1. 我的Python成长之路---第一天---Python基础(2)---2015年12月26日(雾霾)

    三.数据类型 Python基本类型(能够直接处理的数据类型有以下几种)主要有5种 1.整数(int) Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如 ...

  2. 虚拟化:搭建本地虚拟化环境和安装ubuntu操作系统

    本文介绍如何在本地(windows操作系统)安装虚拟机,并在虚拟机下安装ubuntu操作系统. 一.机器升级 因为是在我的笔记本电脑上操作.首先升级了我的笔记本,买了内存条,将我机器的内存增加到8G, ...

  3. Android 程式开发:(廿一)消息传递 —— 21.3 使用Intent发送短信

    使用SmsManager类,可以在自己编写的程序内部发送短信,而不需要调用系统的短信应用. 然而,有的时候调用系统内置的短信应用会更加方便. 这时,需要使用一个MIME类型为vnd.android-d ...

  4. BFS寻路的AS3实现

    关于BFS的相关知识由于水平有限就不多说了,感兴趣的可以自己去wiki或者其他地方查阅资料. 这里大概说一下BFS寻路的思路,或者个人对BFS的理解: 大家知道Astar的一个显著特点是带有启发函数, ...

  5. 私有析构函数 Android 代码分析

    有人说声明 Private Destructor, 这对象只能在 stack 上创建,不能在Heap上创建, 其实错了, 这样的程序编译都过不了. 那为何会有 Private Destructor, ...

  6. [Windows Phone]常用类库&API推荐

    原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...

  7. jquery实现ajax提交form表单的方法总结

    本篇文章主要是对jquery实现ajax提交form表单的方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 方法一:  function AddHandlingFeeToRefund( ...

  8. Amazon RDS的通用型存储(SSD)

    在今年的6月份,我们曾介绍过为Amazon EC2实例提供的基于SSD的弹性块级存储. 在公布几个月过后,这样的被称为通用型存储(SSD)的新型选择方式在创建新的EBS卷中已经占到了90%,我们从客户 ...

  9. unity3d游戏开发猜想——当程序猿老去

    程序猿将代码注入生命去打造互联网的浪潮之巅.当有一天他们老了.会走向那里,会做些什么? 4.4.0" alt="" style="border:0px; ver ...

  10. java http 分段下载

    http://www.iteye.com/topic/1136815 http://www.iteye.com/topic/1128336 http://blog.chinaunix.net/uid- ...