Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2014, 11:35
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Скрыть реализацию.
Всем привет.

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 а мне они не нужны, как их скрыть? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2014, 18:55
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Короче прочитал про паттерн стартегию и все ок стало.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть блок на некоторое время (5 сек) Vladislav jQuery 3 08.07.2013 08:42
Показать (скрыть) фотографии. d00ker Элементы интерфейса 9 25.02.2013 18:58
Скрыть хитрый див spurlos Общие вопросы Javascript 2 22.11.2012 12:02
как скрыть <embed> Tek Общие вопросы Javascript 3 20.04.2012 17:36
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 17:29