工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。
工厂模式会是我们的应用获取更多的可扩展性,减少修改量.
<?php
Interface Animal
{ public function food();}class Cat implements Animal{ public function food(){ echo "小猫吃小鱼"; }}class Fish implements Animal{ public function food(){
echo "小鱼吃虾米";
}}Class Shrimp implements Animal{ public function food(){ echo "我吃什么"; }}
class animalFactory
{ public static function factory($animal) { // $animal = ucfirst($animal); switch ($animal){ case "cat": return new Cat(); break; case "dog": return new Fish(); break; case "shrimp": return new Cat(); break; } } }try{
$animal = animalFactory::factory('dog'); throw new Exception("可能你输入错误了吧"); }catch(Exception $e){ echo "错误信息是:" . $e->getMessage();die;}$animal->food();