Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将所有参数传递给父工厂以使用子工厂_Php_Design Patterns - Fatal编程技术网

Php 将所有参数传递给父工厂以使用子工厂

Php 将所有参数传递给父工厂以使用子工厂,php,design-patterns,Php,Design Patterns,我有一个父工厂,它使用两个子工厂来生产最终产品 class ParentFactory { protected $param1; protected $param2; protected $param3; public function __construct($param1, $param2, $param3) { $this->param1 = $param1; $this-&

我有一个父工厂,它使用两个子工厂来生产最终产品


    class ParentFactory
    {
    
    protected $param1;
    protected $param2;
    protected $param3;
    
    public function __construct($param1, $param2, $param3)
    {
        $this->param1 = $param1;
        $this->param2 = $param2;
        $this->param3 = $param3;
    }
    

    public function create()
    {
        if($this->param1 == 'A')
        {
            $object = new ChildrenFactoryA();
            return $object->create($param2, $param3);
        }
        else
        {
             $object = new ChildrenFactoryB();
             return $object->create($param2, $param3);
        }

    }

我的问题是,为了生产最终产品,是否可以通过母厂和子厂需要的所有参数


    class ParentFactory
    {
    
    protected $param1;
    protected $param2;
    protected $param3;
    
    public function __construct($param1, $param2, $param3)
    {
        $this->param1 = $param1;
        $this->param2 = $param2;
        $this->param3 = $param3;
    }
    

    public function create()
    {
        if($this->param1 == 'A')
        {
            $object = new ChildrenFactoryA();
            return $object->create($param2, $param3);
        }
        else
        {
             $object = new ChildrenFactoryB();
             return $object->create($param2, $param3);
        }

    }


$factory = new ParentFactory($value1, $value2, $value3);
$product = $factory->create();