zoukankan      html  css  js  c++  java
  • 制作自己的MVC框架(三)——应用

    一、数据库操作

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

    namespace librarydb;
    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”通用业务逻辑的封装。

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

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

    框架下载:

    https://github.com/pwstrick/PrimusPHP

  • 相关阅读:
    RHEL6.5安装QT5.4,设置环境变量
    Oprofile安装与使用探索
    龙芯3A上V8的编译与测试
    C#穿透session隔离———Windows服务启动UI交互程序 be
    C#获取CPU与网卡硬盘序列号及Base64和DES加密解密操作类 be
    C#读取Excel转换为DataTable be
    WPF DataGrid ScrollBar Style be
    C#操作注册表 be
    C#读取Excel转为DataTable be
    C# DataTable与Excel读取与导出 be
  • 原文地址:https://www.cnblogs.com/strick/p/5770403.html
Copyright © 2011-2022 走看看