框架入门 中级篇 (中)composer安装和使用 引入medoo数据库操作类

本文介绍如何通过Composer工具管理PHP框架的外部依赖库,包括安装配置过程、引入错误提示库Whoops及数据库操作库Medoo的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们的框架 已经拥有了 简易的MVC 以及简易的配置类和日志类
但是我们的框架还是太简易了
像错误处理 图片处理 邮件类 等等一些类库 我们都还没有写
可能有人会想 有没有一个好的办法可以把前辈们写好的一些类库 直接引入进来呢
这样不就避免了繁琐的写代码了吗

答案是有的
有一款类库管理工具 composer 他可以很轻松就帮我们下好并安装好我们所需要的类库 ,我们所需要的就是简单的配置一下就可以了
那么我们先来安装一下composer吧

windows 下安装composer
打开链接
https://getcomposer.org/Composer-Setup.exe
傻瓜式安装就可以了

安装好之后
我们要在我们的框架根目录 创建一个文件
composer.json

{
  "name":"IMOOC PHP",
  "description":"PHP Framework",
  "type":"Framework",
  "keywords":[
    "PHP","PHP Framework"
  ],
  "require":{
    "PHP":">= 5.3.0",
  }
}

以上声明了我们的项目名称 描述 类型 关键字 以及依赖

我们要引入别人的类库 可以在依赖里添加 要引入类库的名称

下面我们来引入一个错误提示类库 filp/whoops

在composer.json文件中require模块中添加一句

    "filp/whoops":"*"

冒号前面代表的是类库名称 后面是版本号
然后在根目录命令行运行

composer install 

耐心等待安装成功 这里需要补充一点
因为composer 的镜像默认都是国外的 下载速度可能非常慢

大家可以选择composer国内镜像

在composer.json 中添加下面这个模块

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

他声明了项目默认选择镜像是中国的镜像

下载完成后 所有的类库都会下载到 vendor 文件夹

我们需要在入口文件 加载vendor文件夹下的autoload文件


include "vendor/autoload.php";

然后在debug模式开启状态下 运行刚刚我们引入的错误类

if (DEBUG) {
    $whoops = new \Whoops\Run;
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
    $whoops->register();
    ini_set('display_error', 'On');
}else{
    ini_set('display_error', 'Off');
}

这样我们的错误提示就非常酷炫了 是不是很简单呢

接下来我们再引入一个打印第三方类 var-dumper

只需要添加

 "symfony/var-dumper":"*"

执行

composer update

ok 成功!

这样我们composer 管理第三方类就学习完成了

下面我们来利用composer 来安装一个medoo数据库框架

首先先添加一行

"catfan/medoo":"*"

然后执行

composer update

接下来我们修改一下以前写过的model基类

<?php

namespace core\lib;

use \core\lib\conf;

class model extends \medoo
{
    public function __construct()
    {
        $conf = conf::all('database');
        parent::__construct($conf);
    }
}

数据库配置

<?php
return array(
    'database_type'=>'mysql',
    'database_name'=>'laravel',
    'server'=>'localhost',
    'username'=>'root',
    'password'=>'root',
    'charset'=>'utf8',
    'port' => 3306,
    'prefix' => ''
);

然后我们来试一下吧

在IndexController中我们实例化一个medoo

$medoo = new medoo();
$data = $medoo->select("news","*");

这样一个简单的查询就完成了 是不是很简单

如果要更复杂的操作 我们只需要去看看medoo给的文档就好了

http://medoo.lvtao.net/doc.php

medoo操作文档

这样我们的框架看起来是不是粗壮很多呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值