本篇文章为大家展示了php中工厂模式的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1、说明
工厂模式解决的是如何不通过new建立实例对象。
它有一些方法可以创建目标,而不是new。如果想改变创建的对象类型,只需要改变工厂,使用这个工厂的所有代码会自动改变。
工厂模式通常与接口一起使用,应用程序不需要知道这些实例化类的具体细节,只要知道工厂返回的是支持某个接口类别的类就可以轻松使用。
2、实例
/** * 抽象出一个人的接口 * 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中工厂模式的原理是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。