php工厂模式怎么实现
发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,本篇内容主要讲解"php工厂模式怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"php工厂模式怎么实现"吧!说明1、工厂模式解决的是如何不通过new
本篇内容主要讲解"php工厂模式怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"php工厂模式怎么实现"吧!
说明
1、工厂模式解决的是如何不通过new建立实例对象。
2、有一些方法可以创建目标,而不是new。
如果想改变创建的对象类型,只需要改变工厂,使用这个工厂的所有代码会自动改变。
3、通常与接口一起使用,应用程序不需要知道这些实例化类的具体细节。
只要知道工厂返回的是支持某个接口类别的类就可以轻松使用。
实例
/** * 抽象出一个人的接口 * Interface Person */interface Person{ public function showInfo();} /** * 一个继承于抽象人接口的学生类 * Class Student */class Student implements Person{ public function showInfo() { echo "这是一个学生 \n"; }} /** * 一个继承于抽象人接口的老师类 * Class Teacher */class Teacher implements Person{ public function showInfo() { echo "这是一个老师 \n"; }} /** * 人类工厂 * Class PersonFactory */class PersonFactory{ public static function factory($person_type) { // 将传入的类型首字母大写 $class_name = ucfirst($person_type); if(class_exists($class_name)){ return new $class_name; }else{ throw new Exception("类:$class_name 不存在",1); } }} // 需要一个学生$student = PersonFactory::factory('student');echo $student->showInfo(); // 需要一个老师的时候$teacher = PersonFactory::factory('teacher');echo $teacher->showInfo();
到此,相信大家对"php工厂模式怎么实现"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!