zoukankan      html  css  js  c++  java
  • 构建自己的PHP框架(ORM)

    完整项目地址:https://github.com/Evai/Aier

    我们选择 Laravel 的 illuminate/database 作为我们的 ORM 包。

    在本系列教程里,每一个 Composer 包都要满足以下基本要求:

    1. 原生依赖 Composer 进行管理
    2. 在好用的基础上尽量简单(比如我们那个超简单的路由包)
    3. 尽量新,用上 PHP 的新特性

    说到 PHP 的新特性,有句题外话。 PHP5.3 引入了命名空间,这是规划在 PHP6 中的功能,所以 PHP5.3 在一定程度上其实就是 PHP6 ,PHP 的下一个版本是 PHP7 ,即将发布,主要贡献者是大名鼎鼎的 鸟哥 @Laruence 。

    安装 illuminate/database

    给 composer.json 增加一个 require 项:

    "illuminate/database": "*"

    运行 composer update ,等待安装完成。

    使用 Eloquent

    修改 public/index.php 为:

    <?php
    
    use IlluminateDatabaseCapsuleManager as Capsule;
    
    // Autoload 自动载入
    
    require '../vendor/autoload.php';
    
    // Eloquent ORM
    
    $capsule = new Capsule;
    
    $capsule->addConnection(require '../config/database.php');
    
    $capsule->bootEloquent();
    
    // 路由配置
    
    require '../config/routes.php';

    新增 config/database.php (注意替换数据库密码):

    <?php
    
    return [
    
      'driver'    => 'mysql',
    
      'host'      => 'localhost',
    
      'database'  => 'articles',
    
      'username'  => 'root',
    
      'password'  => 'password',
    
      'charset'   => 'utf8',
    
      'collation' => 'utf8_general_ci',
    
      'prefix'    => ''
    
      ];

    修改 models/Article.php :

    <?php
    
    
    class Article extends IlluminateDatabaseEloquentModel
    
    {
    
          public $timestamps = false;
    
          public $table = 'article';
    }

    controllers/HomeController.php 无需改动。

    刷新页面依旧。

    恭喜你!Eloquent 使用成功!

    Eloquent 更多用法

    Eloquent 异常强大 ,可以说是 Laravel 中 最特别 、 最有价值 的部分。

    Eloquent 更多用法参见:Eloquent ORM 中文文档

  • 相关阅读:
    理解vue数据驱动
    深入理解vue的watch
    Vue如何用虚拟dom进行渲染view的
    小程序开发-自定义组件的扩展
    让微信小程序页面之间的通信不在变得困难
    借鉴redux,实现一个react状态管理方案
    Vue的computed计算属性是如何实现的
    读redux有感: redux原来是这样操作的。
    web前端面试题记录
    前端知识理解的笔记
  • 原文地址:https://www.cnblogs.com/evai/p/6211838.html
Copyright © 2011-2022 走看看