- 简单工厂模式(静态工厂模式)
<?php /** * 简单工厂模式(静态工厂模式) */ /** * Interface DemandIO * 定义接口 */ interface DemandIO { public function Price (); } class GoodsMacBook implements DemandIO{ public function Price () { echo 'price=8888rmb'.PHP_EOL; } } class GoodsXps implements DemandIO { public function Price () { echo 'price=6999rmb'.PHP_EOL; } } class Service { public static function GetGoods($name='') { if ($name === 'xps') {return new GoodsXps();} if ($name === 'macbook') {return new GoodsMacBook();} throw new Exception("not object ".PHP_EOL); } } try{ $obj = Service::GetGoods(); } catch (Exception $e){ echo $e->getMessage(); // not object } try{ $obj = Service::GetGoods('xps'); $obj->Price(); // price=6999rmb } catch (Exception $e){ echo $e->getMessage(); } try{ $obj = Service::GetGoods('macbook'); $obj->Price(); // price=8888rmb } catch (Exception $e){ echo $e->getMessage(); }
PHP 简单工厂模式(静态工厂模式)
猜你喜欢
转载自my.oschina.net/u/3529405/blog/1823278
今日推荐
周排行