我们的框架 已经拥有了 简易的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操作文档
这样我们的框架看起来是不是粗壮很多呢