更新(2018年3月25日17:40:42)
写代码时心有所感,又翻到了这个回答。
现在我使用的还是差不多的方案,但是细节略有修改。
PHPStorm没变,前端工具换成了VScode,轻便,好用。
PHP方面,只需要对外暴露一个api.php就行了,路由?router?不存在的,已经前后分离了,就没必要前端写一套路由 后端写一套路由了,要不然多麻烦。后台组件可以完全模块化,RESTful API?不存在的。既然都不要路由了为啥还要REST,既然都是传参数,直接约定好使用POST即可,前端写一个{cmd:"delete"}不比写一个$ajax.delete()简单么,还可以传参数,多方便。后台再也不用操心router的逻辑。
前端还是vue。
前台的路由权限问题也好解决,前端vue-router生成路由表之后,meta元属性中设置一个权限值,同时去请求后台各模块的权限,然后在路由守卫做判断即可。
前后台开发的时候,PHP给定CORS允许localhost即可,前端热加载,后台也是ctrl+s 部署到apache,美滋滋。
最终整个项目开发的时候,后台只需要新建PHP class文件,继承公共的Module Class模块,即可由router自动加载。而前端也只需新建.vue文件,手动添加路由表项即可。
这个东西已经逐渐由我的设想变成一个完整的框架了~
(虽然还是想说一句,一个人开发千万别做前后分离)
原答案: