Skip to content

mcred/phpred

Repository files navigation

PHPRed

Build Status Code Climate Test Coverage Issue Count

Description

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.

Requirements

  • PHP 7.1+
  • Composer
  • Mysqli

Installation

composer require mcred/phpred

Setup

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);
    }
}

Constructor Properties

  • model: string
  • table: string
  • primaryKey: string
  • foreignKey: string
  • fields: array
  • requiredFields: array
  • uniqueFields: array
  • hasMany: array
  • belongsTo: array
  • hasAndBelongsToMany: array

Methods

  • 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

About

Relationships, Entities and Datasources for PHP

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages