我们在用Thinkphp6做项目开发的时候,通常会把项目分为后端(admin),前端(web),接口端(api),小程序端(mini),这样划分项目框架是没有问题的,但是如果项目比较复杂,这样划分会造成一个模块所用到的方法,会在不同的端口出现。如果该项目要删除该模块,需要在不同的端删除对应的模块。例如:
这是一个后端(admin),假如这个端有新闻管理,就需要在这里新建一个News.php,在路由下写上对应的路由文件。
如果有一个前端(index),还有一个接口端(api)端口,就需要按照这样的目录新建。
如果有20个新闻这样的模块。一个controller目录里面有20个模块。3个端口就有60个文件。
显然,如果我们不需要新闻这个模块,需要到对应的后端(admin)前端(web)接口(api)删除对应的 控制器,模型,路由,验证等文件。
采用这种方式来构建项目,显然是不合理的。
我们可以模块化,构建不同的模块来解决这个问题:
这样一个新闻模块,后端(admin)使用 controller/backend/index.php的控制器,路由在 route/backend.php 里面进行配置。
同理可以有:后端模块(backend)前端(web)接口端(api)小程序端(mini)这样当我们不需要该模块,只需要删除该目录即可。