不理解这个new $people();

有一段php代码模拟钩子机制

    class Ball{  
          public $people;
          public function down(){  
            echo    "ball is downing ";  
            //注册事件  
            $this->people=new Hook();
            $this->people->add("man");  
            $this->people->add("woman");  
        }  
          
        public function do(){  
            $this->people->exec();  
        }     
      
    }  
      
    // 钩子的定义  
    class Hook{  
        private $hooklist = null ;  
        // 添加  
        public  function add($people){         
            $this->hooklist[] =  new $people();        
        }  
        // 触发事件  
        public function exec(){  
            foreach($this->hooklist as $people){  
                  $people->act();
            }  
              
        }  
    }  
    // 钩子实现  
    class man{  
        public function act(){  
            echo 'nothing';  
        }     
    }  
      
    class woman{  
        public function act(){  
            echo 'oh my god ';  
        }     
    }  
      
      
    $ball = new Ball();  
    $ball ->down();  
    $ball ->do();  
    

这里的new $people()是一种什么用法?
没有这个people类哈


        public  function add($people){         
        $this->hooklist[] =  new $people();        
    }  
犯罪嫌疑人X
浏览 443回答 2
2回答

茅侃侃

$people = 'man';,new $people();相当于new man(); $people = 'woman';,new $people();相当于new woman();
打开App,查看更多内容
随时随地看视频慕课网APP