2017 © Pedro Peláez
 

library model

Object models

image

minond/model

Object models

  • Friday, March 28, 2014
  • by minond
  • Repository
  • 1 Watchers
  • 1 Stars
  • 544 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

Model

Build Status Coverage Status Latest Stable Version Dependencies Status Scrutinizer Quality Score SensioLabsInsight, (*1)

Models that are simple to create and use. Light weight but easily extensible., (*2)

Getters and setters will be simulated using the magic call method:

use Efficio\Dataset\Model;

class User extends Model
{
    protected $first_name;
    protected $last_name;
    protected $full_name;
}

$me = new User;

// methods
$me->setFirstName('Marcos');
$me->setLastName('Minond');

// or properties
$me->first_name = 'Marcos';
$me->last_name = 'Marcos';

Both getter and setter methods may be overwritten:, (*3)

use Efficio\Dataset\Model;

class User extends Model
{
    protected $first_name;
    protected $last_name;
    protected $full_name;

    public function getFullName()
    {
        return implode(' ', [ $this->first_name, $this->last_name ]);
    }
}
$me = new User;
$me->first_name = 'Marcos';
$me->last_name = 'Marcos';

echo $me->full_name; // outputs 'Marcos Minond'

Traits are used to specify how models are stored:

use Efficio\Dataset\Model;
use Efficio\Dataset\Storage\Model\DatabaseStorage;

class User extends Model
{
    use DatabaseStorage;

    protected $first_name;
    // ...
}

Current storage traits are: * Efficio\Dataset\Storage\Model\DatabaseStorage - store in a database using PDO. * Efficio\Dataset\Storage\Model\FileStorage - store in flat files. * Efficio\Dataset\Storage\Model\NullStorage - no storage. * Efficio\Dataset\Storage\Model\SessionStorage - stored in the $_SESSION array, (*4)

Since storage information is defined in the model level any sort of custom storage may be used., (*5)

Configuring storage methods

DatabaseStorage
// User uses DatabaseStorage trait
User::setConnection(new PDO('sqlite::memory:'));
FileStorage
// User uses FileStorage trait
User::setDirectory('./cache/models/');

The Versions

28/03 2014

dev-master

9999999-dev

Object models

  Sources   Download

GPL-2.0+

The Requires

 

by Marcos Minond

28/03 2014

v1.2.0

1.2.0.0

Object models

  Sources   Download

GPL-2.0+

The Requires

 

by Marcos Minond

01/03 2014

v1.1.0

1.1.0.0

Object models

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

by Marcos Minond

01/02 2014

v1.0.1

1.0.1.0

Object models

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

by Marcos Minond

31/01 2014

v1.0.0

1.0.0.0

Object models

  Sources   Download

GPL-2.0+

The Requires

 

The Development Requires

by Marcos Minond