zoukankan      html  css  js  c++  java
  • 怎样封装一个自己的mvc框架(六)

    我们的框架已经逐步趋于完善

    接下来我们利用composer加载一些工具,使我们的框架操作性更强 

    首先确定你的环境是否安装了composer,

    使用composer前需要编写composer文件,让composer知道需要加载哪些工具

    {
        "name": "MYMVC PHP",
        "description":"php Framework",
        "type":"Framework",
        "keywords":[
            "PHP","PHP Framework"
        ],
        "require":{
            "php":">=5.3.0",
            "filp/whoops":"*",
            "symfony/var-dumper":"*",
            "catfan/medoo":"*"

        },
        "repositories": {
            "packagist": {
                "type": "composer",
                "url": "https://packagist.phpcomposer.com"
            }
        }
    }

    编写完成后命令行模式进入框架根目录

    composer install/update

    下载并安装工具

    当出现vendor文件夹是说明你已经安装成功

    然后在开口文件中引入自动加载类

    //引入自动加载类
    include "vendor/autoload.php";

    我们引入了三个工具

    分别是报错、输出、数据库三个工具

    下面我们改造之前的代码首先是报错

    在入口文件中实例化报错类,调用方法

        $whoops = new  WhoopsRun;
        $handler = new WhoopsHandlerPrettyPageHandler();
        $handler->setPageTitle("出现错误了");//设置报错页面的title
        $whoops->pushHandler($handler);
        $whoops->register();

    输出类我们直接dump()就可以实现

    最后改造模型类

    http://medoo.lvtao.NET/doc.php网站可以查看手册

    修改数据库配置文件

    <?php
    return array(
            'database_type' => 'MySQL',
            'database_name' => 'test',
            'server' => 'localhost',
            'username' => 'root',
            'password' => 'root',
            'charset' => 'utf8',
    );

    修改模型类

    <?php
    namespace corelib;
    use corelibconfig;

    class model extends medoo
    {
        public function __construct()
        {
            //获取配置信息
            $database=config::all('database');
            
            parent::__construct($database);
        
        }

    在默认控制器实例化类,出现

    model {#8 ▼
      #database_type: "mysql"
      #charset: "utf8"
      #database_name: "test"
      #server: "localhost"
      #username: "root"
      #password: "root"
      #database_file: null
      #socket: null
      #port: null
      #prefix: null
      #option: []
      #logs: []
      #debug_mode: false
      +"pdo": PDO {#9 ▶}
    }

    说明改造成功,完成了工具的composer加载

     

  • 相关阅读:
    比较两个NSDate
    关于修改UIWebView的UserAgent
    iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
    iOS系统自带分享功能
    swift中的协议
    iOS性能优化:Instruments使用实战
    iOS利用HealthKit框架从健康app中获取步数信息
    iOS设备型号
    iOS消息推送机制
    Swift进阶
  • 原文地址:https://www.cnblogs.com/quanzhiguo/p/7363401.html
Copyright © 2011-2022 走看看