视图View去哪了?因为选择了完全的前后端分别和SPA(单页应用), 所以传统的视图层也是以去掉落了,具体的介绍看下面。
[ file: app/* ]
应用Vue作为视图
源码目次
[ file: framework/Response.php ]
完全的前后端分别,数据双向绑定,模块化等等的大年夜势所趋。这里我把我本身开源的vue前端项目构造 easy-vue 移植到了这个项目里,作为视图层。我们把前端的源码文件都放在frontend目次里,具体如下,你也可以本身定义:
- frontend [前端源码和资本目次,这里存放我们全部前端的源码文件]
- ├── src [资本目次]
- │ ├── components [编写我们的前端组件]
- │ ├── views [组装我们的视图]
- │ ├── images [图片]
- │ ├── ...
- ├── app.js [根js]
- ├── app.vue [根组件]
- ├── index.template.html [前端人口文件模板]
- └── store.js [状况治理,这里只是个演示,你可以很灵活的编写文件和目次]
- yarn install
- DOMAIN=http://你的域名 npm run dev
编译后
build成功之后会生成dist目次和人口文件index.html在public目次中。非宣布分支.gitignore文件会忽视这些文件,宣布分支去除忽视即可。
- public [公共资本目次,裸露到万维网]
- ├── dist [前端build之后的资本目次,build生成的目次,不是宣布分支忽视该目次]
- │ └── ...
- ├── index.html [前端人口文件,build生成的文件,不是宣布分支忽视该文件]
[ file: frontend/* ]
数据库对象关系映射
数据库对象关系映射ORM(Object Relation Map)是什么?按照我今朝的懂得:顾名思义是建立对象和抽象事物的接洽关系关系,在数据库建模中model实体类其实就是具体的表,对表的操作其实就是对model实例的操作。可能绝大年夜多半的人都要问“为什么要如许做,直接sql语句操作不好吗?搞得这么麻烦!”,我的谜底:直接sql语句当然可以,一切都是灵活的,然则年腋荷琐项目标 可复竽暌姑,可保护, 可扩大 出发,采取ORM思惟处理数据操作是理所当然的,想想如不雅若干一段时光你看见代率攀里大年夜段的难以浏览且无大年夜复竽暌姑的sql语句,你是什么样的心境。
市情上对于ORM的具体实现有thinkphp系列框架的Active Record,yii系列框架的Active Record,laravel系列框架的Eloquent(据说是最优雅的),那我们这里言简意赅就叫ORM了。接着为ORM建模,起首是ORM客户端实体DB:经由过程设备文件初始化不合的db策略,并封装了操作数据库的所有行动,最终我们经由过程DB实体就可以直接操作数据库了,这里的db策略今朝我只实现了mysql(负责建立连接和db的底层操作)。接着我们把DB实体的sql解析功能自力成一个可复竽暌姑的sql解析器的trait,具体感化:把对象的链式操作解析成具体的sql语句。最后,建立我们的模型基类model,model直接持续DB即可。最后的构造如下:
- ├── orm [对象关系模型]
- │ ├── Interpreter.php [sql解析器]
推荐阅读
科技公司裁撤中年技巧员工的传闻,每隔一段时光就会在网上漫溢、发酵。法度榜样员们有点懵。十年前,当他们踏着高考重点登科线,走进大年夜学计算机院系的时刻,想象的而立生活必定不是如>>>详细阅读
本文标题:从0开始构建一个属于你自己的PHP框架
地址:http://www.17bianji.com/lsqh/35069.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示