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

你可能感兴趣的:(ThinkCMF框架使用分享)