新增分类功能PHP,希望TP5新增MVC分层下的分类功能。

news/2025/2/26 13:20:55

TP3.2.3现在好像不支持Controller任意级别分层吧?

比如我把Home\Controller\UserAdminController.class.php移到Home\Controller\User\UserAdminController.class.php,

命名空间由:namespace Home\Controller 改为:namespace Home\Controller\User,

然后通过URL:http://localhost:8803/index.php/Home/User/UserAdmin/admin_list.html,这样是访问不了的,原来http://localhost:8803/index.php/Home/UserAdmin/admin_list.html可以访问。

没深入研究代码,不过感觉分类目录虽然在开发上方便了,但是URL组织上好像有点欠妥。

其实想实现的是模块的插件化功能,Addon功能比较弱,项目文件的目录分类功能,其实就是Addon的变体,让Addon支持完整的MVC,也就是Addon里面包含完整的MVC目录结构,如Addon\User\Controller,Addon\User\Model,Addon\User\View,Addon\User\Conf等,Addon\User\Common,Addon\User\Taglib\等。

这样,比如有人做了个博客类的User插件,那只要把源码放到Addon\BlogUser就可以了,里面已经包含完整MVC结构了,有人做了个商城类的User插件,那只要放到Addon\ShopUser目录就可以了,这样就可以实现应用市场的功能,用户从未来的Tp应用市场下载插件,自动解压到Addon目录,就可以使用这个插件功能了,这样通过插件堆积,就能快速搭建一个由不同插件组成的网站。

OT的插件规范有看过,比较高级吧,基于Addon的插件化,对开发者也是很有用的。如果可行,建议TP5能自带TP专属的插件化开发规范,最好能有TP5的插件市场平台。

====================================

另外对TP5有个建议,目录结构中,Conf、Common目录还是要保留,特殊情况下,Conf可能有很多状态配置文件,如果都放在\Application目录下,没有目录包含,很不好找,因为配置文件的命名又没有任何规律。

====================================

以上表述可能比较模糊,如果方便,可参观自己的项目,就是基于Addon改造的,Addon里面每个模块都具有完整的MVC功能:http://git.oschina.net/sutroon/xwamp_php_2_0/tree/master/Application/XWAM/Addon?dir=1&filepath=Application%2FXWAM%2FAddon&oid=e7d7fef7cd3b3d925c01af2f039854d4ceecafa1&sha=e549ee81697132ee1b8bb1fec8d287c932601519

========================================

一如既往支持TP,感谢老大为国人奉献了这么好的框架!


http://www.niftyadmin.cn/n/712149.html

相关文章

python 比特输出_python技术面试题(一)

正文共: 2383字 5图 预计阅读时间: 6分钟每日分享If you change nothing, nothing will change如果你什么也不去改变,那么没什么会改变。小闫语录:想要一份好工作,那就好好学习扎实自己;想要气质&#xff0…

一步一步学习Redis——发布订阅功能

文章目录: 1.开篇 1.1 发布订阅功能的实现 2.Redis发布订阅的相关命令 2.1 SUBSCRIBE命令 语法 返回值 2.2 PUBLISH命令 语法 返回值 2.3 UNSUBSCRIBE命令 语法 返回值 2.4 PSUBSCRIBE命令 语法 返回值 2.5 PUBSUB命令 语法 返回值 2.6 PUNSUB…

WPF学习笔记:MVVM模式下,ViewModel如何关闭View?

矫枉过正,从一个极端走向另一个极端。MVVM模式,View只负责呈现,虽然也有后台代码,但基本上就是摆设,VM接管了一切的逻辑处理。那么,现在,大能的VM已经完成了所有的事情,这个窗口V如何…

中国存储国家队豪言:2020 年追上世界级大厂

中国半导体国家队紫光集团与武汉新芯在日前合并,组成长江存储全力发展存储,其倾国家之力建设的国家存储基地也于 2016 年底动工,中国存储之路到底走到什么境地?从前武汉新芯CEO、现任长江存储CEO杨士宁参与技术论坛的言论&#xf…

高考倒计时php,php中的函数运用-高考倒计时,打开目录文件,加密和解密以及网站敏感词过滤...

//定义目录名称$dirname"C:\\AppServ\\www\\001";//打开目录$diropendir($dirname);echo "输出文件名:";//读取目录下的文件名while ($filereaddir($dir)){//输出文件名echo "$file";}//关闭目录closedir($dir);?>加密和解密加密…

web前端学习(三十八)——JavaScript正则表达式、异常处理的相关设置

1.JS正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。 正则表达式是由一个字符序列形…

Android第三期 - sharesdk社会化分享组件

网站分享比较简单的一句js就可以了,但是手机就没有这么简单了,要有点小复杂,刚学Android两个月了,也再用第三方的Android开发组件,现在介绍给大家sharesdk。直接上代码!!第一步:下载…

coco2d-x怎样创建project

不知道coco2d-x从那个版本号開始用python创建project,一句话搞定,确实省去了好多麻烦。 首先定位到coco2d-x的文件夹到cocos2d-x-2.2.3\cocos2d-x-2.2.3\tools\project-creator。前提你要装python软件。python是一种面向对象语言。好多人把Python作为一种…