• 怎样封装一个自己的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加载

     

  • 相关阅读:
    PHP操作redis
    鼠标失去焦点处理办法
    关于HTTP协议,一篇就够了
    什么是 CDN(超形象)
    网站部署之~阿里云系列汇总
    阿里云系列——6.给你的域名使用CDN加速(详细步骤+简单配置)
    mysql备份与还原
    .NET框架之“小马过河”
    .NET使用Bogus生成大量随机数据
    .NET中的值类型与引用类型
  • 原文地址:https://www.cnblogs.com/quanzhiguo/p/7363401.html
Copyright © 2020-2023  润新知