站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ThinkPHP-扩展指南-定制模式扩展
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP-扩展指南|返回上一页]]</span> <div style="clear:both;"></div> 模式扩展的本质其实就是组装自己的新的基于[[ThinkPHP]]的框架核心。这是新版框架底层可组装可定制的重要思想。基于ThinkPHP的意思是能够使用ThinkPHP的内置函数方法、配置方式、独特的编译缓存机制,以及一些常量定义。事实上模式扩展可以让你完全抛开系统内置的MVC方式和核心类库~这也许是新版的魅力所在。 而作为新版的框架核心可组装的概念来说,主要体现在如下几个方面: #框架的目录结构和路径可定义; #框架的核心编译文件列表可定义; #框架的[[MVC]]可定义(也就是模式扩展了~) 模式扩展完全可以通过在项目里面定义自己的核心编译文件列表的方式来取代,因为其效果是等效的。只不过一个是可以通过设置模式来运行,而另外一个则是读取项目自身的定义,而且项目自身定义的优先级大于模式设置。 模式扩展主要是定义一个模式加载文件,例如简洁模式的thin.php文件定义方式如下: '''[[PHP]]代码''' <pre> return array( THINK_PATH.'/Lib/Think/Exception/ThinkException.class.php',// 异常处理 THINK_PATH.'/Lib/Think/Core/Log.class.php',// 日志处理 THINK_PATH.'/Mode/Thin/App.class.php', // 应用程序类 THINK_PATH.'/Mode/Thin/Action.class.php',// 控制器类 THINK_PATH.'/Mode/Thin/alias.php', // 加载别名 ); </pre> 通过这样的定义,简洁模式加载了自己定义的App、Action和Model类库(在alias中定义了Model的别名加载),并且沿用了核心自带的异常和日志处理类库。最后一个别名定义文件是可选的~用于快速加载类库文件,这也是新版的一个功能改进。仔细看了简洁模式的App类定义和Model定义后,就大概明白了简洁模式的工作原理了,作了很多功能上的简化。项目核心列表文件位于项目的配置目录(默认是Conf),名称为core.php。其定义方式和模式扩展文件类似,区别在于核心文件的位置不同。如果我们需要为自己的项目量身定制一个底层框架核心,又不想改变项目的入口文件定义,那么还可以根据自己的要求来进行项目核心扩展。 '''例如''',我们在项目的配置目录下面增加一个core.php文件,定义如下: '''PHP代码''' <pre> return array( LIB_PATH.'/Mode/App.class.php', // 应用程序类 LIB_PATH.'/Mode/Action.class.php',// 控制器类 LIB_PATH.'/Mode/alias.php', // 加载别名 ); </pre> 然后就是根据自己的实际需要,在项目的应用类库目录下面创建Mode目录,放入相应的定制后的App、Action和Model类,包括异常处理和日志类都是可以替换的。 定义完成后,需要清空核心编译缓存和项目编译缓存才能生效。 [[category:ThinkPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)