·ThinkPHP采用模块和操作的方式来执行。每一个模块就是一个控制器类,通常位于项目的Lib\Action目录下面。类名就是模块名加上Action后缀,例如UserAction类就表示了User模块。控制器类必须继承系统的Action基础类,这样才能确保使用Action类内置的方法。每个模块的操作并非一定需要有定义操作方法,如果我们只是希望输出一个模板,既没有变量也没有任何的业务逻辑,那么只需要按照规则定义好操作对应的模板文件即可,而不需要定义操作方法。在URL里面没有带任何模块和操作的参数,系统就会寻找默认模块DEFAULT_MODULE和默认操作DEFAULT_ACTION,系统默认的默认模块设置是Index模块,默认操作设置是index操作。

·每个模块是一个Action文件,就是给不同的模块定义具体的操作。

·空操作:系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。

`空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。

`模块分组功能是为了更好的组织已有的模块,并且增加项目容量的一个有效机制。分组功能可以把以往的多项目合并到一个项目中去,这样一来,之前需要采用跨项目操作的地方,现在因为在一个项目中从而免去了不少麻烦,并且公共文件的重用也方便了,并且每个分组都可以有自己独立的配置文件、公共文件、语言包,在URL的访问上面也非常清晰。

`配置分组:要启用分组模块非常简单,配置下APP_GROUP_LIST参数和DEFAULT_GROUP参数即可。

·ThinkPHP支持伪静态URL设置,可以通过设置URL_HTML_SUFFIX参数随意在URL的最后增加你想要的静态后缀,而不会影响当前操作的正常执行。'URL_HTML_SUFFIX'=>'shtml'

·通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。开启方式:1、httpd.conf配置文件中加载了mod_rewrite.so模块
2、AllowOverride None 将None改为 All
3、确保URL_MODEL设置为2
4、把下面的内容保存为.htaccess文件放到入口文件的同级目录下 
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>

ThinkPHP 2相关推荐

  1. Laravel和Thinkphp有什么区别,哪个框架好用

    Laravel和Thinkphp这两个php框架对于php程序员都不陌生,新手可能对Thinkphp比较熟,也是国内比较出名的开源框架,更高级的Laravel一般有点经验的才使用. TP框架: Thi ...

  2. ThinkPHP 详细介绍

    ThinkPHP 是一个免费开源的,快速.简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkP ...

  3. php语+言教程,写给thinkphp开发者的laravel系列教程(九)打印数据-Fun言

    php这种脚本语言调试起来是很方便的: 大多时候看报错打印一下数据就知道问题所在了: php 内置了常用打印函数 print 和 var_dump : 但是打印出来的样式实在让人目瞪狗呆: think ...

  4. ThInkPHP验证码不显示,解决方法汇总

    出现ThInkPHP验证码不显示的情况 官方提示如下:如果无法显示验证码,请检查: ① PHP是否已经安装GD库支持: ② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出):(打开验证码文 ...

  5. ThinkPHP入门(二)

    smarty使用 smarty引入流程 1. 控制器IndexAction.class.phpfunction index()$this -> display(); (父类Action的disp ...

  6. ThinkPHP基础概念

    OOP 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组 ...

  7. 什么是php model类,thinkphp的自定义model类有什么作用?

    请问,thinkphp的自定义model类有什么作用?如: <?php //自定义Modle类 namespace Home\Model; use Think\Model; class StuM ...

  8. thinkphp mysql 密码加密_thinkphp框架实现mysql读写分离

    基于thinkphp3.2.3,官方手册:http://www.kancloud.cn/manual/thinkphp/1733 注意事项: 1.首先得配置好mysql主从,可以多主多从 2.在读写分 ...

  9. 一小时Thinkphp后台(2)

    之前我们已经写好管理员页面,现在对功能继续实现 基础功能1:对管理进行增删改查 增加 需要在view中新建一个add.html add.html <!DOCTYPE html> <h ...

  10. 很多学ThinkPHP的新手会遇到的问题

    在模板传递变量的时候,很多视频教程都使用$v.channel的方式,如下: <a href="{:U('Chat/set',array('id'=>$v.channel))}&q ...

最新文章

  1. 允许其它网段访问centos服务器_访问控制列表-ACL
  2. 什么是CGI、FastCGI、PHP-CGI、PHP-FPM
  3. python -- 青少年如何使用 Python 开始游戏开发
  4. python Hbase Thrift pycharm 及引入包
  5. html5小说翻页,用html5模拟书的翻页
  6. Android 顶部切换实现(二)
  7. html+dom能做什么,jQuery能做什么?
  8. 【手把手 脑把脑】教会你使用idea基于MapReduce的统计数据分析(从问题分析到代码编写)
  9. android的fragment讲解
  10. mysql数据库子查询练习_子查询以及sql练习
  11. mysql原生sql语句_原生SQL语句
  12. 如何转化知网CAJ格式的论文为PDF?
  13. PINN内嵌物理知识神经网络入门及文献总结
  14. vue实现的随意拖拽的自定义表单,用于医院文书开发,提高实施效率
  15. h3c交换机服务器无响应,华为(H3C)交换机版本升级遇到的问题总结
  16. HTTP Server:从头开始构建简单HTTP服务器需要了解的所有内容
  17. 利用YYLabel 进行图文混排+高度计算
  18. 14565B简单使用教程
  19. 俄罗斯方块中方块的旋转变形
  20. html5音效,HTML5之Audio(六)—— 3D音效

热门文章

  1. 翻译: 深入深度学习 2.3. 线性代数 pytorch
  2. 「解决方案」企业能源管控平台
  3. 英语6级词汇量【原创】
  4. 博弈论(1)例题:纳什均衡 (投票还是不投票/合资问题/n 个企业的古诺模型)博弈论导论 Steven Tadelis - Game Theory. An Introduction
  5. 金融时报:去赚8亿非网民的钱
  6. web开发与应用(一)
  7. 评估人-自主系统团队通信的方法(1)
  8. 【Retrofit】Retrofit的源码解析
  9. c语言 循环结构 ppt,C语言中 循环结构.ppt
  10. Unix 操作系统背后的女程序员 Lorinda Cherry 去世,享年 78 岁