ci3如何分组前后台?

分开前后台的几种方式

如果有使用过ThinkPHP的朋友,肯定会熟悉下面这张图(TP3.2)

TP中实现多应用是很简单的,框架本省支持应用分组,创建一个新的应用只需在application中新建一个文件夹复制相关内容即可,而且支持公有模型、配置,且支持配置文件优先级。

比起来CI框架并不支持这样的功能,CI提供了两种方案给用户解决多应用问题:

1、创建子目录

在Model、Controller等文件夹下建立子文件夹,加载相关模型、控制器时只需加上子目录即可,如下

2、多应用多入口

在application下建立多个应用文件夹,每个文件夹下是一个应用,为每个应用创建入口文件,定义application路径,如下

两种方式的特点

1、创建子目录方式: 属于一个CI应用,共享配置文件,无法进行单独的配置设置,比如后台要开钩子功能但是前台不需要,或者前后台需要分别加载各自的模块时,这种搭建方式就不是那么友好了。

2、多应用多入口: 前后台分为单独的CI应用,可以单独进行配置,通过各自的入口文件访问,应用完全分离,但是无法进行模型、自定义类库的共享。

方案的选择

无论选择哪种方案,都要跟着实际需求去选择,你的项目前后台是否需要单独的配置?是否是两个队伍分别开发前后台?等等。

就以我的博客为例,我选择了第2种方案。

那么第2种方案无法共享模型、类库的问题怎么解决呢?同样的数据,难道我要为了前后台写两份模型出来吗?

OK,显然CI并没有给我们提供分组、共享模型的功能,但是CI的特点之一就是“可扩展”,需要你自己动手做一些东西,这个框架没那么丰富,但却小巧、灵活,这也是CI的乐趣之一。

多入口应用搭建

搭建目录、设置入口文件

将application种的文件复制两份,分别为home和admin(前后台)

设置入口文件的 $application_folder 变量

前台: index.php

后台: admin.php

此时在两个应用中创建不同的welcome控制器、视图,分别访问index.php
,admin,php就能分别访问到不同的应用了。


 

猜你喜欢

转载自blog.csdn.net/qq_40270754/article/details/84026280
今日推荐