php系统常量极URL模式【荐】.ppt
文本预览下载声明
Network Optimization Expert Team 内容摘要 ① ACTION初识 ② URL模式 ③ 系统常用常量 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 1 ACTION初识 控制器 需要为每个模块定义一个控制器类,控制器类的命名规范是: 模块名+Action.class.php (模块名采用驼峰法并且首字母大写) 系统的默认模块是Index,对应的控制器就是项目目录下面的Lib/Action/IndexAction.class.php,类名和文件名一致。默认操作是index,也就是控制器的一个public方法。初次生成项目目录结构的时候,系统已经默认生成了一个默认控制器(就是之前看到的欢迎页面),我们把index方法改成下面的代码: class IndexAction extends Action { public function index(){ echo hello,world!; } } 控制器必须继承Action类,一个模块可以包括多个操作方法。如果你的操作方法是protected或者private类型的话,是无法直接通过URL访问到该操作的。 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 2.1 URL四种模式 0,普通模式 1,pathinfo模式 2,rewrite模式 3,兼容模式 需要注意的是可以在项目目录中的conf/config.php 进行通过对URL_MODEL进行修改,可选参数0、1、2、3,代表以下四种模式: // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式,提供最好的用户体验和SEO支持 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 2.2 URL四种模式--普通模式 一、普通模式:设置URL_MODEL 为0 采用传统的URL参数模式 http://serverName/appName/?m=modulea=actionid=1 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 2.3 URL四种模式--pathinfo模式 设置URL_MODEL 为1 默认情况使用PATHINFO模式,ThinkPHP内置强大的PATHINFO支持,提供灵活和友好URL支持。PATHINFO模式自动识别模块和操作,例如 http://serverName/appName/module/action/id/1/ 或者 http://serverName/appName/module,action,id,1/ 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: http://serverName/appName/module/action/year/2008/month/09/day/21/ 其中参数之间的分割符号由URL_PATHINFO_DEPR参数设置,默认为”/”,例如我们设置URL_PATHINFO_DEPR为“-”的话,就可以使用下面的URL访问 http://serverName/appName/module-action-id-1/ 注意不要使用”:” 和””符号进行分割,该符号有特殊用途。 在PATH_INFO模式下面,会把相关参数转换成GET变量,以及并入REQUEST变量,因此不妨碍URL里面的GET和REQUEST变量获取。 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 2.4 URL四种模式--REWRITE模式 设置URL_MODEL 为2 该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了, 主讲:POG 官网: (4讲) ThinkPHP URL模式和快捷常量 2.4 URL四种模式--REWRITE模式 通常的URL里面含有index.php,为了达到更好的SEO效果可能需要去掉URL里面的index.php ,通过URL重写的方式可以达到这种效果,通常需要服务器开启URL_REWRITE模块才能支持。 下面是Apache的配置过程,可以参考下: 1、httpd.conf配置文件中加载了mod_rewrite.so模块 2、AllowOverride
显示全部