edsononildo / orm

PHP中实现active record设计模式的实现

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

This package is auto-updated.

Last update: 2024-09-29 05:08:47 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)。有关更多信息,请参阅许可文件