Всем привет.
require_once('m/M_TableOperator.php');
class Post extends TableOperator {
// Поля таблицы пост
public $id;
public $title;
public $keywords;
public $description;
public $short;
public $full;
public $first_preview;
public $second_preview;
public $h1;
public $data;
public function __construct($id='')
{
parent::__construct();
$this->tableName = 'post';
// Возвращаем обьект Post с заполненными полями
if(isset($id))
{
$post = self::selectById($id);
$this->id = $post['id'];
$this->title = $post['title'];
$this->keywords = $post['keywords'];
$this->description = $post['description'];
$this->short = $post['short'];
$this->full = $post['full'];
$this->first_preview = $post['first_preview'];
$this->second_preview = $post['second_preview'];
$this->h1 = $post['h1'];
$this->data = $post['data'];
}
}
public function selectById($id)
{
$sql = '';
$sql = "SELECT * FROM `". $this->tableName ."` WHERE id = " . $id ; //echo $sql;
$response = $this->DB->Select($sql);
if ($this->DB->getError() == '') {
return $response;
} else {
// ошибка при первом запросе
$this->error = $this->DB->getError();
return false;
}
}
function select()
{
return parent::select();
}
protected function delete(){}
protected function update(){}
protected function create(){}
}
abstract class TableOperator {
// основные операции таблицы.
protected $tableName;
protected $DB;
protected $error;
public function __construct(){
$this->DB = DB::getInstance();
}
public function getError(){
return $this->error ;
}
public function select()
{
$sql = "SELECT * FROM `". $this->tableName ."`"; //echo $sql;
$response = $this->DB->Select($sql);
if ($this->DB->getError() == '') {
return $response;
} else {
// ошибка при первом запросе
$this->error = $this->DB->getError();
return 0;
}
}
abstract protected function delete();
abstract protected function update();
abstract protected function create();
}
Но вот post который возвращается с заполненными полями еще тянет за собой $DB, $error а мне они не нужны, как их скрыть? Спасибо.