roistat/php-orm

Simple ORM library for PHP

dev-master 2024-03-03 01:30 UTC

This package is not auto-updated.

Last update: 2024-12-22 07:18:00 UTC


README

Build Status

Overview

It is simple ORM library for PHP. This library is compatible with PHP 5.4 and higher. There are no magic methods. All code is type-hinted. It could be used in high load projects even with partitioning and sharding. There are 3 basic parts (packages). You could combine them or use some of them separately.

  • State package — responsible for object state management. Prepares data for usage in DB queries.
  • Query package — query builder. It could use data from State package or any other sources.
  • Driver package — sends queries to database and parses results.

Installation

composer require roistat/php-orm:dev-master

Or you can't just copy content of ./src to your src/RsORM folder with standard namespaces autoload.

Quick Start

Typically you can combine these 3 packages or use them alone. And at first you should define class of entity you work with. This class structure convenient to build accordingly with DB table structure.

class Account extends State\Entity {
	public $id;
	public $email;
	public $password;
}

Then you can build MySQL query. For example, select statement.

$statement = Query\Engine\MySQL\Builder::select()
	->table("accounts")
    ->build();

And then you can execute this statement and get result (array of defined class objects).

$mysql = new Driver\MySQL();
$accounts = $mysql->fetchAllClass($statement, "Account");
/*
$accounts - array of Account objects, like this:
[
	{id: 1, email: "qwe@qwe.qwe", password: "123456"},
	{id: 2, email: "asd@asd.asd", password: "654321"},
	...
]
*/

It is simple example of usage RsORM. More detailed information you can find in the relevant sections.

Documentation

State package
Query package
Driver package

License

Released under the MIT License.