制作自己的MVC框架(三)——应用
2016-08-23 09:59
169 查看
一、数据库操作
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814154033453-972987575.jpg)
目前封装了两种数据库,“MongoDB”和“MySQL”,用到了一次接口“IDatabase.php”。
namespace library\db; interface IDatabase { public function connect($database); }
为了方便增删改查,给两种数据库封装了统一的方法,query、getCount、add、getRowById等。
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814155010015-36820598.jpg)
将demo用的数据库文件放在了“db”内。
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814155246437-756667604.jpg)
二、辅助函数、常量与字典
1)辅助函数这个是参考了CI后加进来的,有时候老是初始化某个类再调用很不方便,直接是函数的话,引用就快捷。
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814155406953-1969273223.jpg)
目前就三个,文件、正则和域名的操作,里面也没几个方法,可扩展。
2)常量与字典
常量的应用,例如订单的状态,可以用数字1,2或3等,而如果直接赋这种数字,不容易理解,并且万一修改了一个状态意义。
那就有潜在危险了,可能赋值比较分散,不能完全修改过来。
但如果作为一个变量预先设置好,即使改了也没关系,只是层引用关系。
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814160027562-1295316379.jpg)
class ConstEnum { const Status_Normal = 1; const Status_Delete = 0; //字典 public static $Enum_Select = [ ['1'=>'正常'], ['0'=>'错误'] ]; }
而字典的话,例如订单状态的下拉框,直接引用这个字典再输出,比每次都重新设置要快捷许多。
三、工具类
框架中会有许多工具类,例如分页、Session、过滤、Curl等。我这边就简单的封装了几个而已。![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814160651500-1653972766.jpg)
其中“Weixin”开头的两个文件是专门用于微信开发的,曾经写过四篇文章,专门讲《微信开发》。
四、控制器
1)类库![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814161331203-286225636.jpg)
“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”中就是视图了。
![](https://images2015.cnblogs.com/blog/211606/201608/211606-20160814161859500-583736474.jpg)
除了这些,还有“third”第三方库的引入,“service”通用业务逻辑的封装。
如果要封装自己的业务层,其实就是新加一个文件夹而已。
以上这些也只是按照我的思路做的封装,都是对第一篇文章《粗暴的实现》的扩展。
框架下载:
https://github.com/pwstrick/PrimusPHP
相关文章推荐
- 制作任何应用都可以安装的扩展(火狐,雷鸟...自己写的也可以)
- yum包的简单应用(一)——制作自己的源createrepo
- 模式应用 - 利用工厂模式制作自己的"小程序测试工厂"
- flv视频网站制作 使用Flex和PHP创建自己的视频应用
- 制作自己的MVC框架(一)——简单粗暴的实现
- 制作自己的静态链接库并应用到程序中
- Docker实践(三)应用场景(创建私有库、用dockerfile制作自己应用镜像、利用私有库发布)
- 像Youtube一样的flv视频网站制作 使用Flex和PHP创建自己的视频应用
- android中Gallery的应用开发-制作自己的相片集
- 制作自己的Winpe镜像(3):Wim镜像捕获及Wim镜像应用
- 如何制作自己的轻应用?
- 嵌入式Qt-4.8.6显示中文并且改变字体大小和应用自己制作的字体库
- 制作自己的iso文件——cdimage的应用
- zabbix企业应用之如何制作自己的模板
- 制作自己的MVC框架(二)——启动
- 转载:使用Installshield制作asp,asp.net应用的安装程序
- 自己制作的Asp数据库访问类。
- 制作自己的Blog Button
- 给自己的应用打造一个自己的Cache(序)
- 制作自己的Win XP SP2光盘