Skip to content
/ phpred Public

Relationships, Entities and Datasources for PHP

Notifications You must be signed in to change notification settings

mcred/phpred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages