lodev09/php-models

一个PHP库,允许您使用PDO轻松创建和定义模型。

2.3.6 2022-03-17 17:14 UTC

README

一个PHP库,允许您使用PDO轻松创建和定义模型

功能

  • PDO包装器
  • 简化FETCH_INTO
  • 模型辅助工具

安装

$ composer require lodev09/php-models

使用

DB.php

主要的\Models\DB类是一个PDO包装器,用于简化CRUD操作。它是从php-pdo-wrapper-class分支出来的代码。

// connect to your database. Store the $db instance globally -- you only need to connect to your db ONCE!
$db = new \Models\DB(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);

可用的CRUD方法

  • $db->insert($sql, $binds)$db->insert($table, $values)
  • $db->select($sql, $binds)
  • $db->row($sql, $binds) (与select相同,但返回单行)
  • $db->update($sql, $binds)$db->update('table', $values)
  • $db->delete($sql, $binds)$db->delete('table', $filters)

默认样式为PDO::FETCH_OBJ

示例

$users = $db->select("SELECT * FROM users WHERE active = 1 AND username = :username", array('username' => 'lodev09'));
var_dump($users);

Model.php

\Models\Model类是一个父类,可以继承到Model类。继承此类可以自动将结果“行”映射到您的模型类(表)。此类基本使用PDO::FETC_INTO样式,并使其更容易。以下是将表链接到类的步骤

  1. 初始化\Models\DB实例(见上文)
$db = new \Models\DB(DB_HOST, DB_NAME, DB_USER, DB_PASSWORD);
\Models\Model::setDb($db);
  1. 创建您的模型类。例如,一个User.php
namespace Models;

class User extends Model {
    public function getName() {
        return $this->name;
    }
}
  1. 将表注册到您的自定义类
// somewhere in your init.php
\Models\User::register('users');

现在,您可以直接从查询中获取User实例。示例

$user = \Models\User::row("SELECT id, name FROM users WHERE id = 1 AND active = 1");
// you can call the getName() method now
if ($user) {
    $name = $user->getName();
    echo 'His name is '.$name;
}

反馈

欢迎所有错误、功能请求、拉取请求、反馈等。请访问我的网站www.lodev09.com或通过lodev09@gmail.com给我发邮件

致谢

© 2018 - 由Jovanni Lo编写/@lodev09

许可

MIT许可下发布。请参阅LICENSE文件。