Thinkphp框架
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
理解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 的环境。
Thinkphp框架的更多相关文章
- 攻城记:Thinkphp框架的项目规划总结和踩坑经验
一.项目模块规划 1.项目分为PC端.移动端.和PC管理端,分为对应目录为 /Application/Home,/Application/Mobile,/Application/Admin: 对应入口 ...
- ThinkPHP框架的一些基础应用
这是俺滴师傅给俺传授了的知识,特在此分享. TP框架,做PHP开发的都应该有所耳闻.下面,我们就来说说入口文件的生成: 创建新项目时,首先,在目录文件下创建一个新的文件夹.然后将Thinkphp框架文 ...
- 关于在BAE上部署ThinkPHP框架的问题
现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...
- 番外一:关于thinkphp框架下的文件导入路径问题
总的来说,要使在thinkphp框架下面HTML导入的图片.css文件和js文件有效,只有两种方法:(1)使用绝对路径:(2)在项目目录下创建新目录Public,把所有的img文件夹.js文件夹和cs ...
- 【PHP】基于ThinkPHP框架搭建OAuth2.0服务
[PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403
- thinkphp框架下404页面设置
404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.clas ...
- [2012-4-10]ThinkPHP框架被爆任意代码执行漏洞(preg_replace)
昨日(2012.04.09)ThinkPHP框架被爆出了一个php代码任意执行漏洞,黑客只需提交一段特殊的URL就可以在网站上执行恶意代码. ThinkPHP作为国内使用比较广泛的老牌PHP MVC框 ...
- ThinkPHP框架的部署
1.将ThinkPHP框架的框架文件放到想要放置的地方,与创建的应用文件夹同级 2.vhost文件中设置虚拟目录 3.在hosts文件中配置 4.在应用目录中创建入口文件index.php 5.在入口 ...
- ThinkPHP框架如何修改X-Powered-By
以前用ThinkPHP框架开发了一个小网站,前几天查询页面HTTP状态发现,里面有一项: X-Powered-By: ThinkPHP 2.0 这样虽然没什么,但感觉如果别有用心的人查询会知道你是用这 ...
- thinkphp框架 查询语言
thinkphp框架 查询语言 EQ 等于 (=) NEQ 不等于 (!=) GT 大于 (>) EGT 大于等于 (>=) LT ...
随机推荐
- 1.reset.css的设置
/* reset css */ *, ::before, ::after{ /*选择所有的标签 */ margin: 0; padding: 0; /*清除移动端默认的 点击高亮效果*/ -webki ...
- js获取网站项目根路径
//js获取项目根路径,如: http://localhost:8083/uimcardprj function getRootPath(){ //获取当前网址,如: http://localhost ...
- python的一道面试题 __call__ 的使用.
class Person: def __init__(self): self.age = 1 def __call__(self, *args, **kwargs): print 'age', sel ...
- MySQL5.6 新特性之GTID
背景: MySQL5.6在5.5的基础上增加了一些改进,本文章先对其中一个一个比较大的改进"GTID"进行说明. 概念: GTID即全局事务ID(global transactio ...
- 一款全兼容的播放器 videojs
[官网]http://www.videojs.com/ videojs就提供了这样一套解决方案,他是一个兼容HTML5的视频播放工具,早期版本兼容所有浏览器,方法是:提供三个后缀名的视频,并在不支持h ...
- SQL Server 临时禁用和启用所有外键约束(高版本向低版本迁移数据)
--获得禁用所有外键约束的语句 select 'ALTER TABLE [' + b.name + '] NOCHECK CONSTRAINT ' + a.name +';' as 禁用约束 from ...
- ios升级<注:来着微信平台>
<来着微信平台> http://mp.weixin.qq.com/s?__biz=MjM5NTIyNTUyMQ==&mid=2709545194&idx=1&sn ...
- AngularJS多模块开发
angularJS中的多模块开发是指多个module模块开发,步骤为: 1. 确定主模块 var app=angular.module('myApp',[]); 2. 其他的子模块添加到主模块后 ...
- 1 javascript 核心语言笔记
//所有的双斜线之后的内容都属于注释; //变量是表示值的一个符号名字; //变量是通过var 关键字声明的; var x; //声明一个变量 //值可以通过等号赋值给变量 x = 0; //现在的变 ...
- EM算法总结
EM算法总结 - The EM Algorithm EM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM那一节,为了解决HMM的参数估计问题,使用了EM算法.在之后的MT中的词对齐中也用 ...