Yaf集成Eloquent ORM

开始学习Yaf框架的PHPer应该知道这是一款高性能轻量级的框架,除了最基础的框架,其他都需要自己集成,今天自己学习集成了Eloquent ORM。

1、下载Eloquent ORM

composer require illuminate/database


2、引入Eloquent ORM,在public下的入口文件加上require APP_PATH."/vendor/autoload.php";

date_default_timezone_set("Asia/Shanghai");
define("APP_PATH",  realpath(dirname(__FILE__) . '/../')); /* 指向public的上一级 */
require APP_PATH."/vendor/autoload.php";
$app  = new Yaf_Application(APP_PATH . "/conf/application.ini");
$app->bootstrap()->run();

注意:新手一般容易把$app->bootstrap()->run();的bootstrap()忘记加上


3、配置数据库,在配置文件里加上数据库链接的配置

database.driver     = mysql
database.host       = 127.0.0.1
database.database   = user
database.username   = root
database.password   = root
database.port       = 3306
database.charset    = utf8
database.collation  = utf8_general_ci
database.prefix     = "mc_"


4、导入数据库配置到Eloquent ORM,在引导文件Bootstrap.php中加入

use Illuminate\Database\Capsule\Manager as Capsule;//加在class外面
public function _initDatabase(Yaf_Dispatcher $dispatcher){
    $capsule = new Capsule;
    $capsule->addConnection($this->config->database->toArray());
    $capsule->setAsGlobal();
    $capsule->bootEloquent();
}


现在开始进入测试

1、在model文件夹下新建app.php

use Illuminate\Database\Eloquent\Model;
class AppModel extends Model {
    protected $table = 'app';
}

2、在控制器里面加入

$users = AppModel::find(1);
var_dump($users->id);


这个时候应该会提示warning:/application/library/Doctrine/DBAL/Driver/PDOConnection.php: No such file or directory。这是因为在创建PDO连接的时候会判断是否有DBAL的PDO连接类,这里你可以选择不显示,或者也可以安装一下dbal的包。

composer require doctrine/dbal

这个时候应该完全成功了,不想动手的可以直接下载↓

链接:https://pan.baidu.com/s/1wc625WE3E8t8tUv4UGVWXw 

提取码:cx2h