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

  • 相关阅读:
    jdbc连接Sql server数据库,并查询数据
    HttpClient,post请求,发送json,并接收数据
    SQL SERVER存储过程一
    HttpClient,get请求,发送并接收数据
    工作中操作数据库实例
    存储过程的实例(公司)
    eclipse发布项目后,项目所在的位置
    SQLSERVER存储过程基本语法
    SAXReader解析
    导包
  • 原文地址:https://www.cnblogs.com/strick/p/5770403.html
Copyright © 2011-2022 走看看