意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

PHP工厂模式能解决什么问题,怎样实现

来源:恒创科技 编辑:恒创科技编辑部
2024-01-10 23:22:59
这篇文章给大家介绍了“PHP工厂模式能解决什么问题,怎样实现”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。

     


PHP工厂模式能解决什么问题,怎样实现



说明

1、工厂模式解决的是如何不通过new建立实例对象。

2、有一些方法可以创建目标,而不是new。

如果想改变创建的对象类型,只需要改变工厂,使用这个工厂的所有代码会自动改变。

3、通常与接口一起使用,应用程序不需要知道这些实例化类的具体细节。

只要知道工厂返回的是支持某个接口类别的类就可以轻松使用。

实例

/**
*抽象出一个人的接口
*InterfacePerson
*/
interfacePerson
{
publicfunctionshowInfo();
}

/**
*一个继承于抽象人接口的学生类
*ClassStudent
*/
classStudentimplementsPerson
{
publicfunctionshowInfo()
{
echo"这是一个学生\n";
}
}

/**
*一个继承于抽象人接口的老师类
*ClassTeacher
*/
classTeacherimplementsPerson
{
publicfunctionshowInfo()
{
echo"这是一个老师\n";
}
}

/**
*人类工厂
*ClassPersonFactory
*/
classPersonFactory
{
publicstaticfunctionfactory($person_type)
{
//将传入的类型首字母大写
$class_name=ucfirst($person_type);

if(class_exists($class_name)){
returnnew$class_name;
}else{
thrownewException("类:$class_name不存在",1);
}
}
}

//需要一个学生
$student=PersonFactory::factory('student');
echo$student->showInfo();

//需要一个老师的时候
$teacher=PersonFactory::factory('teacher');
echo$teacher->showInfo();

推荐操作系统:windows7系统、PHP5.6、DELL G3电脑


到此这篇关于“PHP工厂模式能解决什么问题,怎样实现”的文章就介绍到这了,更多相关PHP工厂模式能解决什么问题,怎样实现内容,欢迎关注恒创科技技术资讯频道,小编将为大家输出更多高质量的实用文章!
上一篇: 浅谈PHP中get和post的使用不同要点有哪些 下一篇: 手机怎么远程登录云服务器?