bonfim / orm
PHP中实现Active Record设计模式的实现
v2.0
2019-03-30 12:16 UTC
Requires
- php: ~7.1
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
This package is not auto-updated.
Last update: 2024-10-01 18:06:01 UTC
README
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
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 了解详细信息。
安全
如果您发现任何与安全相关的问题,请通过邮箱 inbox.edsononildo@gmail.com 而不是使用问题跟踪器来报告。
致谢
许可
MIT许可(MIT)。请参阅 许可文件 了解更多信息。