<?php //工厂模式:用于建立合适的对象 //使用这种模式每次都得本身去构建对象,调用合适的方法 class WorkerFactory{ public static function createWorker($type){ $className = ucwords(strtolower($type)); $className .= "Worker"; return new $className(); } } class BlueWorker{ public function say(){ echo "我是蓝领工人\n"; } } class WhiteWorker{ public function say(){ echo "我是白领工人\n"; } } class GlodenWorker{ public function say(){ echo "我是金领工人\n"; } } WorkerFactory::createWorker("blue")->say(); WorkerFactory::createWorker("white")->say(); WorkerFactory::createWorker("gloden")->say();