博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
制作自己的MVC框架(三)——应用
阅读量:6950 次
发布时间:2019-06-27

本文共 1205 字,大约阅读时间需要 4 分钟。

一、数据库操作

目前封装了两种数据库,“MongoDB”和“MySQL”,用到了一次接口“IDatabase.php”。

namespace library\db;interface IDatabase {    public function connect($database);}

为了方便增删改查,给两种数据库封装了统一的方法,query、getCount、add、getRowById等。

将demo用的数据库文件放在了“db”内。

 

二、辅助函数、常量与字典

1)辅助函数

这个是参考了CI后加进来的,有时候老是初始化某个类再调用很不方便,直接是函数的话,引用就快捷。

目前就三个,文件、正则和域名的操作,里面也没几个方法,可扩展。

 

2)常量与字典

常量的应用,例如订单的状态,可以用数字1,2或3等,而如果直接赋这种数字,不容易理解,并且万一修改了一个状态意义。

那就有潜在危险了,可能赋值比较分散,不能完全修改过来。

但如果作为一个变量预先设置好,即使改了也没关系,只是层引用关系。

class ConstEnum {    const Status_Normal = 1;    const Status_Delete = 0;    //字典    public static $Enum_Select = [        ['1'=>'正常'],        ['0'=>'错误']    ];}

而字典的话,例如订单状态的下拉框,直接引用这个字典再输出,比每次都重新设置要快捷许多。

 

三、工具类

框架中会有许多工具类,例如分页、Session、过滤、Curl等。我这边就简单的封装了几个而已。

其中“Weixin”开头的两个文件是专门用于微信开发的,曾经写过四篇文章,专门讲《》。

 

四、控制器

1)类库

core/Controller.php”中做的是核心工作,渲染模版、返回JSON数据等。

controller/Web.php”是某个业务中的通用控制器,继承自“Controller.php”中。

 

2)项目

app中可以包含多个项目,例如下面的“admin”和“weixin”,包含多个项目可以复用“library”中的代码。

在“weixin”文件夹中包含了四个文件夹。

1. “conf”是配置文件,前面说过的,三种环境有三种配置。

2. “controllers”中是控制器,命名我做了规定,一定要“Controller”结尾。

3. “layouts”是通用模版,例如head、footer等部分,很多页面可以复用。

4. “views”中就是视图了。

 

除了这些,还有“third”第三方库的引入,“service”通用业务逻辑的封装。

如果要封装自己的业务层,其实就是新加一个文件夹而已。

以上这些也只是按照我的思路做的封装,都是对第一篇文章《》的扩展。

 

框架下载:

 

转载地址:http://uienl.baihongyu.com/

你可能感兴趣的文章
[android]android自动化测试
查看>>
为代码签名,供后人瞻仰或唾弃,你敢吗?
查看>>
Java笔记:集合框架实现原理
查看>>
用Objective-C写了一个简单的批量更改文件名的程序
查看>>
建立JDBC的环境配置和相关下载(Mac)
查看>>
Android 使用ViewPager结合PhotoView开源组件实现网络图片在线浏览功能
查看>>
GNU Radio中的数据元(Metadata)
查看>>
【JSP开发】URL路径的规范
查看>>
Android学习笔记(3):Android项目结构分析
查看>>
openlayers加载切片地图
查看>>
【Android开发】布局管理器-相对布局
查看>>
A Case about cursor_sharing=FORCE can introduce a execute plan stale
查看>>
[技术点]SQL 多条件查询
查看>>
PHP进阶~1
查看>>
thinking about application known or un-known distributed storage
查看>>
cocos2d::Map
查看>>
【Ajax技术】利用XHR接受与处理XML数据
查看>>
月薪13k的我为什么要转行学Python?
查看>>
节假日是不是一票难求?Python百十行代码帮你实现自动抢票!
查看>>
git 常见错误解决方案集合
查看>>