Thinkphp30新增功能.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:9 大小:1.1MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Thinkphp30新增功能.doc

Thinkphp30新增功能.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

注:此笔记只列手册目录和大略,详细参考手册2.2项目目录APP_NAME是指项目名称,注意APP_NAME不要随意设置,通常是项目的目录名称,如果你的项目是直接部署在Web根目录下面的话,那么需要设置APP_NAME为空。APP_PATH是指项目路径(必须以“/”结束),项目路径是指项目的Common、Lib目录所在的位置,而不是项目入口文件所在的位置。注意:在类Unix或者Linux环境下面Runtime目录需要可写权限。2.4项目编译接下来要展示一个新版编译缓存的新特性,假如我们之前已经生成了App/Runtime/~runtime.php编译缓存文件,现在我们进行入口文件替换,修改入口文件如下:再次执行后运行依然正常,这个时候其实入口已经被编译缓存文件接管了,跳过了框架的入口文件ThinkPHP/ThinkPHP.php。.接下来,见证奇迹的时刻到来了^_^,我们把项目的入口文件index.php删除,并且把编译缓存文件拷贝到项目目录下面,更名为index.php,再次执行运行正常,说明我们已经跳过了入口文件,直接以编译缓存文件为项目运行入口了。2.5调试模式虽然编译缓存很优秀,但是并不利于开发阶段中调试和排错,我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式,方便及时发现隐患问题和分析、解决问题。开启调试模式很简单,只需要在入口文件中增加一行常量定义代码:在完成开发阶段部署到生产环境后,只需要删除调试模式定义代码即可切换到部署模式。3.8扩展配置项目配置文件在部署模式的时候会纳入编译缓存,也就是说编译后再修改项目配置文件就不会立刻生效,需要删除编译缓存后才能生效。扩展配置文件则不受此限制影响,即使在部署模式下面,修改配置后可以实时生效,并且配置格式和项目配置一样。设置扩展配置的方式如下(多个文件用逗号分隔):项目设置了加载扩展配置文件user.php和db.php分别用于用户配置和数据库配置,那么会自动加载项目配置目录下面的配置文件Conf/user.php和Conf/db.php。默认情况下,扩展配置文件中的设置参数会并入项目配置文件中。4.2.3类库导入我们知道,按照系统的规则,import方法是无法导入具有点号的类库文件的,因为点号会直接转化成斜线,例如我们定义了一个名称为User.Info.class.php的文件的话,采用:import("ORG.User.Info");方式加载的话就会出现错误,导致加载的文件不是ORG/User.Info.class.php文件,而是ORG/User/Info.class.php文件,这种情况下,我们可以使用:import("ORG.User#Info");来导入。二、别名导入除了命名空间的导入方式外,import方法还可以支持别名导入,要使用别名导入,首先要定义别名,我们可以在项目配置目录下面增加alias.php用以定义项目中需要用到的类库别名,例如:returnarray('rbac'=>LIB_PATH.'Common/Rbac.class.php','page'=>LIB_PATH.'Common/Page.class.php',);那么,现在就可以直接使用:import("rbac");import("page");导入Rbac和Page类,别名导入方式禁止使用import方法的第二和第三个参数,别名导入方式的效率比命名空间导入方式要高效,缺点是需要预先定义相关别名。5.4空操作空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给CityAction类定义一个_emtpy(空操作)方法:5.5空模块空模块的概念是指当系统找不到指定的模块名称的时候,系统会尝试定位空模块(EmptyAction),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的HYPERLINK"http://serverName/index.php/City/shanghai/"http://serverName/index.php/City/shanghai/变成HYPERLINK"http://serverName/index.php/shanghai/"http://serverName/index.php/shanghai/这样更加简单的方式,如果按照传统的模式,我们必须给每个城市定义一个Action类,然后在每个Action类的index方法里面