I'm learning PHP, MVC and "Simple MVC Framework for PHP" now.
I have this model called Person:
<?php
namespace Models;
use Core\Model;
use Helpers\Database;
use Core\Error;
class Person extends Model {
protected $db;
protected $tname = 'person';
function __construct() {
parent::__construct ();
$this->db = Database::get ();
}
public function getPersons() {
return $this->db->select ( "SELECT firstname, lastname FROM " . PREFIX . $this->tname );
}
public function insertPerson($data) {
if (is_array ( $data )) {
$this->db->insert ( PREFIX . $this->tname, $data );
return $this->db->lastInsertId ( 'personID' );
} else {
// Error::display ( '$data is not an array.' ); // TODO: not in model
}
}
}
Contact:
<?php
namespace Models;
use Core\Model;
use Helpers\Database;
class Contact extends Model {
protected $db;
function __construct() {
parent::__construct ();
$this->db = Database::get ();
}
// handle telephone, mobile, fax, emails, ...
}
Every person has other models like Contact (1:1), Living(1:n), Horoscope (1:1), SocialMedia (1:1).
How do I design the relationship between them? Should I register these models in Person self (constructor)?