使用 composer 构建 PHP 框架之引入数据库 ORM 框架 (四)

1,259 阅读1分钟
原文链接: www.36nu.com

本文来说一下引入数据库ORM框架的方法,选择的是Laravel 的 illuminate/database

修改composer.json增加一个 require 项:

"illuminate/database": "*"

运行 composer update 完成安装

修改 init.php 为:

addConnection(require BASE_PATH.'/config/database.php');
$capsule->bootEloquent();

新建config/database.php:

 'mysql',
    'host'      => 'localhost',
    'database'  => 'nuf',
    'username'  => 'root',
    'password'  => '',
    'charset'   => 'utf8',
    'collation' => 'utf8_general_ci',
    'prefix'    => ''
);

修改models/Post.php为:

修改controllers/HomeController.php为:

toArray();
        echo View::getView()->make('home', array('data'=>$data))->render();
    }
}

修改views/home.blade.php为:




    
    home view


    @foreach($data as $v)
        title:{{ $v['title'] }}
@endforeach

访问nuf.dev/index.php/home,输出

title:php
title:java

本文使用sql及数据如下:

CREATE DATABASE IF NOT EXISTS `nuf`;
USE `nuf`;
CREATE TABLE `posts` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `title` VARCHAR(50) NOT NULL DEFAULT '0',
  `content` VARCHAR(50) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=3
;
INSERT INTO `posts` (`id`, `title`, `content`) VALUES
  (1, 'php教程', 'php教程内容'),
  (2, 'java教程', 'java教程内容');