bonfim/orm

PHP中实现Active Record设计模式的实现

v2.0 2019-03-30 12:16 UTC

This package is not auto-updated.

Last update: 2024-10-01 18:06:01 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

PHP中实现Active Record设计模式的实现

目录

先决条件

  • PHP 7.1+
  • 相应数据库的PDO驱动程序

支持的数据库

  • MySQL
  • SQLite
  • PostgreSQL
  • Oracle

安装

通过 composer 安装

$ composer require edsononildo/orm

创建一个 index.php 文件并包含composer的autoload.php

<?php

include 'vendor/autoload.php';

之后,进行所有必要的配置

use Bonfim\ActiveRecord\ActiveRecord;

ActiveRecord::config('mysql:host=localhost;dbname=testdb', 'username', 'password');

基本的CRUD操作

检索

以下是你从数据库中查找和检索记录的基本方法

// Retrieve all records
$posts = Post::all();

// Retrieve records with specific keys
$posts = Post::select(['title']);

// Find records with a condition
$posts = Post::find('WHERE id = ?', [1]);

创建

在这里,我们通过实例化一个新对象并调用save()方法来创建一个新帖子

$post = new Post();
$post->title = 'My first blog post!!';
$post->author_name = 'Edson Onildo';
$post->save();
INSERT INTO `posts` (`title`, `author_name`) VALUES ("My first blog post!!", "Edson Onildo");

更新

要更新,您只需先找到一条记录,然后更改其属性之一。

$post = Post::find('WHERE `id` = ?', [1])[0];
echo $post->title; // 'My first blog post!!'
$post->title = 'Some title';
$post->save();
UPDATE `posts` SET title='Some title' WHERE id=1;

删除

删除记录不会销毁对象。这意味着它将调用SQL删除数据库中的记录,但您仍然可以在需要时使用该对象。

$post = Post::find('WHERE `id` = ?');
$post->delete();
DELETE FROM `posts` WHERE id=1;

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCODE_OF_CONDUCT 了解详细信息。

安全

如果您发现任何与安全相关的问题,请通过邮箱 inbox.edsononildo@gmail.com 而不是使用问题跟踪器来报告。

致谢

许可

MIT许可(MIT)。请参阅 许可文件 了解更多信息。