MVC思想:

1. 简单来说, M 即模型, m是Model的第一个字母,它用于管理程序的数据,因此它也是连接我们的PHP程序和数据库的功能。通常在模型类这一块,框架通常会使用ORM(对象关系映射)。所谓ORM即把数据库中的表和我们的类对应起来,每一条记录都相当于一个对象,每一个字段都相当于类的一个属性,此外,我们可以在该类中定义一些方法来操作数据库,从而避免我们直接写SQL语句。
2.V 即视图,是View的第一个字母,它用于网站数据的展示,它需要前台的界面编写知识,但是编写前台界面和程序开发并不完全分开,它们之间还是有一些关联的。
3.C 即控制器,是Controller的第一个字母,它用于实现M和V的交互,即我们对于用户的操作,它会从V中感知到用户的操作,并且调用M去取出数据,并且选择适当的V重新去展示。
4. 随着Ajax的使用,MVC的具体实现也会稍微复杂点,但是原理却没变。此外还有HMVC的思想。
5.MVC是一个思想,它并没有规定具体的实现方式,比如Python 语言的Django框架就是一个MTV的实现,MTV是Model(模型)、Template(模板)、View(视图)的结合形式,其实就是MVC的思想。

 
默认访问目录:
http://localhost/demo/index.php

http://localhost/demo/index.php/Home/Index/index
 
index.php --- 入口文件
Home --- 默认Home模块
Index --- 默认的IndexController控制器
index --- 方法
 
 
目录结构:
      
Application目录:
        
 
ThinkPHP目录:
        
Think核心目录:
      
 

理解URL请求:
1. ThinkPHP 使用了统一文件入口,我们对该网站的所有请求都会经过该入口文件,然后 TP 会分析 URL 中的参数的含义,然后解析当前请求的模块和操作。
2. 简单一点来说,就是 TP 会分析 URL,然后根据该 URL 找到相应的 Controller 的相应方法。
3.ThinkPHP 支持四种 URL 模式,即普通模式、 PATHINFO 模式、 REWRITE 模式和兼容模式,其中基本上大多数框架都建议用 PATHINFO 模式。

1)PATHINFO模式:对SEO的支持比较好,它的特点是URL中分隔符比较统一, 便于搜索引擎抓取页面。(配置文件:Application\Common\Conf\config.php)

现在默认访问路径为:http://localhost/demo/index.php/Home-Index-xin

2)普通模式:就是我们最原始的是用? 和 & 以及=来传值的模式,不建议使用。
3)重写模式:可以省略index.php。
4)兼容模式:用于那些不支持 PATHINFO 的环境。

 
传递参数的例子:
       
 
 
TP配置:
配置文件:\ThinkPHP\Conf\convention.php
              Application\Common\Conf\config.php
单个应用配置:Application\Common\Conf\config.php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Thinkphp框架的更多相关文章

  1. 攻城记:Thinkphp框架的项目规划总结和踩坑经验

    一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...

  2. ThinkPHP框架的一些基础应用

    这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...

  3. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

  4. 番外一:关于thinkphp框架下的文件导入路径问题

    总的来说,要使在thinkphp框架下面HTML导入的图片.css文件和js文件有效,只有两种方法:(1)使用绝对路径:(2)在项目目录下创建新目录Public,把所有的img文件夹.js文件夹和cs ...

  5. 【PHP】基于ThinkPHP框架搭建OAuth2.0服务

    [PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403

  6. thinkphp框架下404页面设置

    404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.clas ...

  7. [2012-4-10]ThinkPHP框架被爆任意代码执行漏洞(preg_replace)

    昨日(2012.04.09)ThinkPHP框架被爆出了一个php代码任意执行漏洞,黑客只需提交一段特殊的URL就可以在网站上执行恶意代码. ThinkPHP作为国内使用比较广泛的老牌PHP MVC框 ...

  8. ThinkPHP框架的部署

    1.将ThinkPHP框架的框架文件放到想要放置的地方,与创建的应用文件夹同级 2.vhost文件中设置虚拟目录 3.在hosts文件中配置 4.在应用目录中创建入口文件index.php 5.在入口 ...

  9. ThinkPHP框架如何修改X-Powered-By

    以前用ThinkPHP框架开发了一个小网站,前几天查询页面HTTP状态发现,里面有一项: X-Powered-By: ThinkPHP 2.0 这样虽然没什么,但感觉如果别有用心的人查询会知道你是用这 ...

  10. thinkphp框架 查询语言

    thinkphp框架 查询语言 EQ     等于        (=) NEQ  不等于      (!=) GT     大于       (>) EGT   大于等于 (>=) LT ...

随机推荐

  1. C#导出涉及行列合并的复杂的Excel数据

    一.导出数据格式 二.实现代码 /// <summary> /// 导出经费统计excel表格 /// </summary> /// <param name=" ...

  2. push 到下一界面明显卡顿的现象

    今天搭建界面,界面间的跳转使用了 push方法,结果发现界面间转换时有明显的卡顿现象,并没有做过数据请求之类的处理,所以感觉好神奇.以前好像也遇到过,当时在push 到的下级界面加个背景色.现在重新这 ...

  3. Centos7设置IP为固定值

    1.进入到系统的IP地址保存文件所在目录 [root@localhost ~]# cd /etc/sysconfig/network-scripts 2.修改保存IP信息的文件 [root@local ...

  4. .Net中使用无闪刷新控件时提示框不显示

    今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路, 他说可能是因为由于页面中的无闪刷新导致的结果:百度了一下真找到了解决方法 在页面中存在无闪刷新控件的时候提示框 ...

  5. mysql 分表

    1.分表,即把一个很大的表达数据分到几个表中,这样每个表数据都不多. 优点:提高并发量,减小锁的粒度 缺点:代码维护成本高,相关sql都需要改动 2.分区,所有的数据还在一个表中,但物理存储数据根据一 ...

  6. python常见数据类型

    字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串烦人过程其实很简单,只需为变量分配一个值即可.例如: var = 'Hello Wor ...

  7. $().click(function(){}) 不管用 live()替代品 append之后

    根据jQuery的官方描述,live方法在1.7中已经不建议使用,在1.9中删除了这个方法.并建议在以后的代码中使用on方法来替代. on方法可以接受三个参数:事件名.触发选择器.事件函数. 需要特别 ...

  8. 在ASP.NET MVC项目中使用React

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:最近在开发钉钉的微应用,考虑到性能和UI库的支持,遂采用了React来开发前端. 目前 ...

  9. 在SQL SERVER中实现RSA加解密函数(第一版)

    /*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.1 注:   转载请保留此信息 ...

  10. 为什么kafka使用磁盘而不是内存

    Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外.在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平 ...