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 ...
随机推荐
- ffmpeg-20160828-bin.7z
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 5 屏幕横向放大 20 像素 6 屏幕横向缩小 20 像素 S 下一帧 [ -2秒 ] +2 ...
- 【学习笔记】ionic 学习之环境搭建
初学ionic ,后面会把学习的点滴和踩到坑全部记录下来 1.环境 安装node.js 官网地址:https://nodejs.org/en/ 下载安装包安装.自己记住自己的安装路径哦 安装完成后我们 ...
- MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的 ...
- <%#Eval if判断用法
1.绑定Repeater 基础用法 <%#Eval("RoleID")%> 2.简单判断用法 <td> <%# Convert.ToBoolean(E ...
- springMVC 学习(一)
本文主要介绍springmvc的框架原理,并通过一个入门程序展示环境搭建,配置以及部署调试. springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合 ...
- mysql缓存
<cache/>字面上看就是这样.这个简单语句的效果如下: 映射语句文件中的所有 select 语句将会被缓存. 映射语句文件中的所有 insert, update 和 delete ...
- hashmap实现原理浅析
看了下JAVA里面有HashMap.Hashtable.HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正 HashMap和Hashtable的区别 HashSet和Hash ...
- 【Java EE 学习 48】【Hibernate学习第五天】【抓取策略】【二级缓存】【HQL】
一.抓取策略. 1.hibernate中提供了三种抓取策略. (1)连接抓取(Join Fetch):这种抓取方式是默认的抓取方式.使用这种抓取方式hibernate会在select中内连接的方式获取 ...
- 【Java EE 学习 46】【Hibernate学习第三天】【多对多关系映射】
一.多对多关系概述 以学生和课程之间的关系为例. 1.在多对多关系中涉及到的表有三张,两张实体表,一张专门用于维护关系的表. 2.多对多关系中两个实体类中应当分别添加对方的Set集合的属性,并提供se ...
- Linux下安裝Oracle database內核參數設置
參考:1529864.1 ************************************************** RAM ...