PHPRed is an opinionated light weight ORM. While there are many available ORMs for PHP, many contain features that I have never used. PHPRed contains very basic methods and usage.
- PHP 7.1+
- Composer
- Mysqli
composer require mcred/phpred
In addition to the example below, there are examples available in the `tests/mocks` folder. Setting up a model is very easy: create a model class that extends the `PHPRed/Models/Model` class then define the properties of that model in the constructor. Such as:
<?php
class MyClass extends \PHPRed\Models\Model
{
public function __construct(\MysqliDb $mysql)
{
$this->model = 'MyClass';
$this->table = 'my_class';
$this->primaryKey = 'id';
$this->foreignKey = 'my_class_id';
$this->fields = ['id', 'name'];
$this->requiredFields = ['name'];
$this->uniqueFields = ['name'];
$this->hasMany = ['MyClassProperties'];
$this->hasAndBelongsToMany = ['Users'];
parent::__construct($mysql);
}
}
- model: string
- table: string
- primaryKey: string
- foreignKey: string
- fields: array
- requiredFields: array
- uniqueFields: array
- hasMany: array
- belongsTo: array
- hasAndBelongsToMany: array
- getAll() : array
- getById(int $modelId) : array
- getBySearch(array ['key' => 'value']) : array
- insert(array $data) : array
- updateById(int $modelId, array $data) : array
- deleteById(int $modelId): void