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