ThinkCMF框架使用分享

公司开发一直使用的是OneThink框架,由于需求需要,想写一个系统,但是又要和公司系统不完全分离,故数据库要使用一个,方便查表。

ThinkCMF是一款基于ThinkPHP+MYSQL开发的中文内容管理框架(CMF),关键开源。

安装

去到官网下载最新的cmf框架,然后直接将文件夹放到开发目录,在hosts文件中配好域名就可以直接进行安装了,非常方便。

但是问题来了,在安装过程中会让你输入数据库前缀,如(think_),我的要求是和公司的OT公用一张表,但是倘若你直接输入think_,它会报错,原因是表名冲突,由于OT在安装时也会默认导入很多常规表,这是如出一辙的。

解决方法:打开application文件夹,进入install,找到install3的页面,将必须填写表前缀删掉,这样就可以在安装时使表前缀为空,避免后期带来不必要的麻烦。

使用

那么,安装成功的惊喜不用持续太久,因为cmf的写法与ot还是存在一点差别的,不过我个人还是更喜欢cmf中的写法,每一个功能块的都得很开,所有功能都基于application文件夹,每一个单独一个文件夹,里面写好控制器和公共方法以及模型,功能之间互不干涉,很清晰。页面文件位于admin下的theme和theme文件夹下,也是单独文件夹形式。

新建功能

比如我们要新建一个管理商品的功能(Goods),首先在application中新建一个Goods文件夹,在Goods中新建一个Common、Controller和Model文件夹,在Controller中新建文件 GoodsListController.class.php ,对应着在Model中建ListModel.class.php ,在 Common 中新建文件Function.php备用,在 /Admin/Theme/下新建Goods文件夹,新建文件index.html,这时,一个基本的功能模块雏形就形成了。

两个小坑

  • 在所以文件都写好,也在控制器中$this->display了后,并且在后台菜单管理中合理添加了路径后,你会发现还是打不开0.0,恩,这就对了。不然怎么说是坑呢。我们找到application/Common/config.php,打开文件找到MODULE_ALLOW_LIST配置项,在后面加上'Goods',然后打开网页就能看到了。

  • 由于建立框架时,前缀为空,所以在使用model时还是会有问题,这时,我们在Model文件中class下加上一句protected $tableName = "think_goods";,就能正常使用model了。

最后

祝大家在程序的坑中越陷越深!Happy Work Happy EveryDay!

                                             --------Night !   Madman
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • 转载自cr180大神DiscuzX2.5完整目录结构【source程序文件库】 /source/admincp后台...
    cndaqiang阅读 877评论 1 2
  • Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象...
    廖马儿阅读 2,167评论 2 38
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • PV(page view)即页面浏览量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。网页浏览数是评...
    最琳琅阅读 97评论 0 1