|
|
|
| В методе фабрика есть обьявление класса через switch - case 'Comments'
return new blogComments($this->lang, $this->GET, $this->template, $query, $this->cat_arr);
|
и таких строк достаточно много.
Хотелось сделать как в примере про фабрику на оф сайте PHP но как передать параметры классу?
вот типа
$switch = 'Comments';
$class = 'blog' . $switch;
return new $class($this->lang, $this->GET, $this->template, $query, $this->cat_arr);
|
А параметры для конструктора ?
ps я понимаю что return с ошибкой , но я для наглядности мысли. Спасибо! | |
|
|
|
|
|
|
|
для: vorobey
(18.02.2012 в 12:34)
| | вот этот пример из мануала, но в нем конструктору не передается параметров и поэтому реализуется просто. А если задать параметры то не получается....
<?php
class Example
{
// Параметризированный фабричный метод
public static function factory($type)
{
if (include_once 'Drivers/' . $type . '.php') {
$classname = 'Driver_' . $type;
return new $classname;
} else {
throw new Exception('Драйвер не найден');
}
}
}
?>
|
зы может я не так понимаю прицип и конструктор не должен тут быть...!? | |
|
|
|
|
|
|
|
для: vorobey
(20.02.2012 в 18:34)
| | Есть функция call_user_method(), возможно вам будет удобно ей воспользоваться. | |
|
|
|