ThinkPHP中的应用模式扩展是什么

  介绍

ThinkPHP中的应用模式扩展是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

ThinkPHP的应用模式使得开发人员对核心框架进行改造较以往更为得心应手,并且可以让你的应用适应更多的环境和不同的需求。每个应用模式都有自己的模式定义文件,相对于ThinkPHP3.1版本,ThinkPHP3.2版本对应用模式的扩展更加明确和清晰,在ThinkPHP3.1版本中定义了Cli, Lite,薄,AMF, PHPRPC,其余模式,其定义方式和ThinkPHP3.2版本的方式大同小异,如有需要可以参考修改,其中Cli模式被ThinkPHP框架内置,不用单独定义Cli模式即可正常使用,如需要更细化调整可以参考3.1版编写的Cli运行模式扩展.ThinkPHP同样提供了便捷的开发环境和正式环境的模式切换方式。让我们随着ThinkPHP的运行流程解析其应用模式扩展之谜。

<强>一、应用模式的使用

在研究应用模式扩展之前,看看如何使用应用模式的吧。一般通过在入口文件定义常量APP_MODE为应用模式名称,但是在分析ThinkPHP框架入口文件时,了解到框架默认采用模式为普通模式(常见),而且可以自动识别sae环境,当然前提是没有定义APP_MODE常量时,当然ThinkPHP可以自动识别Cli和CGI模式,并且在Cli和CGI环境下运行ThinkPHP框架在默认模式中自动对这两种环境做了细微调整,当然也可以自己扩展这两种应用模式。

如果(function_exists (& # 39; saeAutoLoader& # 39;)){//,自动识别sae环境   定义才能(& # 39;APP_MODE& # 39;),,,或定义(& # 39;APP_MODE& # 39;,,,, & # 39; sae # 39;);   定义才能(& # 39;STORAGE_TYPE& # 39;),或定义(& # 39;STORAGE_TYPE& # 39;,, & # 39; sae # 39;);   其他}{   定义才能(& # 39;APP_MODE& # 39;),,,或定义(& # 39;APP_MODE& # 39;,,,,, & # 39;常见# 39;);,//,应用模式,默认为普通模式,,   定义才能(& # 39;STORAGE_TYPE& # 39;),或定义(& # 39;STORAGE_TYPE& # 39;,,, & # 39;文件# 39;);,//,存储类型,默认为File ,   }

<强>二,应用模式定义

在ThinkPHP框架当中除了ThinkPHP框架入口和框架引导类以外,基本所有其他功能都可以通过应用模式进行更改和扩展,如果我们要增加一个应用模式,只需要在ThinkPHP \模式目录下面定义一个模式定义文件即可,我们可以通过分析常见的模式进行学习。该文件的代码如下:

//文件路径:ThinkPHP/模式/common.php/* *   ,* ThinkPHP 普通模式定义   ,*定义一个模式文件,只需要返回一个模式包含文件的数组即可   ,*在数组中主要包含4种扩展文件列表:   ,*,,config 为默认加载配置文件列表   ,*,,alias 为核心类库别名配置列表   ,*,,core 需要加载的核心函数和类文件列表   ,*,,tags 行为配置列表   ,*   ,*如果在应用模式定义中加载一个自定类,那个自定义类的命名空间必须是思考   ,*/return 阵列(//,才能配置文件   & # 39;才能配置# 39;,,=祝辞,阵列(   ,,,THINK_PATH强生# 39;Conf/convention.php& # 39;,,,//,系统惯例配置   ,,,CONF_PATH强生# 39;config . php # 39;,,,,//,应用公共配置   ),才能   ,//才能,别名定义   & # 39;才能别名# 39;,,,=祝辞,阵列(   ,,,& # 39;认为\ log # 39;,,,,,,,,=祝辞,CORE_PATH 只& # 39;日志# 39;开头,   ,,,& # 39;认为日志\司机\ \文件# 39;,,=祝辞,CORE_PATH 只& # 39;日志/驱动程序/文件# 39;开头,   ,,,& # 39;认为\例外,,,,,,=祝辞,CORE_PATH 只& # 39;例外# 39;开头,   ,,,& # 39;认为\模型# 39;,,,,,,,=祝辞,CORE_PATH 只& # 39;模型# 39;开头,   ,,,& # 39;认为\ db # 39;,,,,,,,,=祝辞,CORE_PATH 只& # 39;db # 39;开头,   ,,,& # 39;认为\模板# 39;,,,,,=祝辞,CORE_PATH 只& # 39;模板# 39;开头,   ,,,& # 39;认为\缓存# 39;,,,,,,,=祝辞,CORE_PATH 只& # 39;缓存# 39;开头,   ,,,& # 39;认为\司机\ \缓存文件# 39;,=祝辞,CORE_PATH 只& # 39;缓存/驱动程序/文件# 39;开头,   ,,,& # 39;认为\存储# 39;,,,,,,=祝辞,CORE_PATH 只& # 39;存储# 39;开头,   ),才能   ,//才能,函数和类文件   & # 39;才能核心# 39;,,,=祝辞,阵列(   ,,,THINK_PATH强生# 39;常见/显然也# 39;   ,,,COMMON_PATH强生# 39;常见/function.php& # 39;   ,,,CORE_PATH 只& # 39;钩# 39;开头,   ,,,CORE_PATH 只& # 39;应用# 39;开头,   ,,,CORE_PATH 只& # 39;分配器# 39;开头,   ,,,//CORE_PATH 只& # 39;日志# 39;开头,   ,,,CORE_PATH 只& # 39;路线# 39;开头,   ,,,CORE_PATH 只& # 39;控制器# 39;开头,   ,,,CORE_PATH 只& # 39;视图# 39;开头,   ,,,BEHAVIOR_PATH 只& # 39;BuildLiteBehavior& # 39;开头,   ,,,BEHAVIOR_PATH 只& # 39;ParseTemplateBehavior& # 39;开头,   ,,,BEHAVIOR_PATH 只& # 39;ContentReplaceBehavior& # 39;开头,   ),才能//,才能行为扩展定义   & # 39;才能标签# 39;,=祝辞,阵列(   ,,,& # 39;app_init& # 39;,,,=祝辞,阵列(   ,,,,,& # 39;行为\ BuildLiteBehavior& # 39;,,//,生成运行Lite文件   ,,,,,,,,   ,,,& # 39;app_begin& # 39;,,,=祝辞,阵列(   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

ThinkPHP中的应用模式扩展是什么