Параметр в ООП передать

Здраствуйте.
Есть
$news= Model::factory('news')->get_news($id,1,array('tag1','tag2'));
можно както сделать чтобы $id передавалось на весь класс?
как то так:
$news= Model::factory('news')->set('id',$id)->get_news(1,array('tag1','tag2'));
или
$news= Model::factory('news')->get_news(1,array('tag1','tag2'));
$news->id=$id;

Ето код класа
class Model_News extends Model
{
public function __set($var, $val){
$this->arr[$var] = $val;
}
}

1 ответов


class Model_News extends Model
{
    private $_id;
   
    public function __set($var, $val){
        $this->arr[$var] = $val;
    }
   
    public function setId($id) {
        $this->_id = $id;
        return $this;
    }
   
    /**
     * Переопределяем родительский метод, где будем добавлять ID
     *
     * @param mixed $type
     * @param mixed $params
     */

    public function get_news($type,$params) {
        return parent::get_news($this->_id, $type, $params);
    }
   
}

Использование:

$news=Model::factory('news')->setId($id)->get_news(1,array('tag1','tag2'));