原文: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. iOS UITextField垂直居中

    textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

  2. 04-Foundation-NSSet、NSDictionary、block

    目录: 一.NSSet集合 二.NSDictionary字典 三.block代码块 回到顶部 一.NSSet集合 1 NSSet是一个无序的,管理对个对象的集合类,最大特点是集合中不允许出现重复对象, ...

  3. Cloud Engine

    Cloud Engine:大杀器如何炼成   郑昀 创建于2016/6/18 最后更新于2016/6/19 点击查看我的<如何从零搭建一个技术平台>,这是一个系列.转载时请注明“转载自旁观 ...

  4. 探究绑定事件的this指向以及event传参的小问题

    this指向 直接上代码,凑合着看 <input type="button" onclick="page()" value="点我"& ...

  5. 基于visual Studio2013解决算法导论之011快排改良

     题目 快排改良 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #in ...

  6. uva 10313 Pay the Price(完全背包)

    题目连接:10313 - Pay the Price 题目大意:有0~300这300种价值的金额. 现在可能给出参数: 1个:n, 输出可以组成价值n的方式的个数. 2个:n, a输出用个数小于a的价 ...

  7. UML02-用例图

    1.泛化表示一般和特殊的关系.用例之间存在泛化关系,参与者之间存在泛化关系,参与者和用例之间存在泛化关系. 2.画出用例图. 系统允许管理员通过磁盘加载存货数据来运行存货清单报告: 管理员通过从磁盘加 ...

  8. javascript笔记整理(对象遍历封装继承)

    一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...

  9. Linux权限操作 [转]

    Linux权限操作 本文内容来自<鸟哥linux私房菜>读后个人做的笔记,该书实为学习linux的很好入门教材 一.文件属性 ls ls -al列出所有的档案属性 ls是List的意思 档 ...

  10. 基于visual Studio2013解决C语言竞赛题之1050矩阵反斜线求和

       题目 解决代码及点评 /************************************************************************/ /* 50 ...