Abstract superclass for domain models.
Installation
You can install this library using Composer, (*1)
Command line
In root directory of your project run through a console:, (*2)
$ composer require "larium/model":"~1.0"
Composer.json
Include require line in your composer.json file, (*3)
{
require: {
"larium/model": "~1.0"
}
}
and run from console in the root directory of your project:, (*4)
$ composer update
After this you must require autoload file from composer., (*5)
<?php
require_once 'vendor/autoload.php';
Usage
<?php
# UserModel.php
class UserModel extends Larium\AbstractModel
{
protected $username;
protected $email;
}
Using default constructor.
$user = new UserModel();
$user->setUsername('JohnDoe');
echo $user->getUserName(); # echoes JohnDoe.
Using create method
<?php
$data = array('username' => 'johnDoe');
$user = UserModel::create($data);
echo $user->getUserName(); # echoes JohnDoe.
Using assignData method
<?php
$user = new UserModel();
$data = array('username' => 'JohnDoe');
$user->assignData($data);
echo $user->getUsername(); # echoes JohnDoe
Using create method with constructor arguments
<?php
# CommentModel.php
class CommentModel extends AbstractModel
{
protected $user;
protected $content;
public function __construct(UserModel $user)
{
$this->user = $user;
}
}
<?php
$user = new UserModel();
$date = array('content' => 'Lorem Ipsum');
$comment = CommentModel::create($data, array($user));
$comment->getUser(); # return UserModel instance.