PHP工厂模式的日常使用


Posted in PHP onMarch 20, 2019

负责生成其他对象的类或方法,这就是工厂模式,下面是一个经常见到的用法

<?php
class test{
  public $x=1;
  public $setting;
  //负责生成其他对象的类或方法,这就是工厂模式
  public function getSetting(){
    if(!$this->setting){
      $this->setting=new Setting();
    }
    return $this->setting;
  }
}
class Setting{
  public function __construct(){
    echo 1111;
  }
}
$test=new test();
$setting=$test->getSetting();
$setting2=$test->getSetting();
 
 
//判断两个对象是否是同一个对象
var_dump($setting===$setting2);
//看编号,也能看出来
var_dump($setting);
var_dump($setting2);
 
 
 
 
//属性中有减号的处理
$name="x-b";
$test->$name=2;
 
var_dump($test);
 
 
//$test->x-b;//直接使用上面的属性,会被认为是一个减号
/*
报错:
PHP Notice: Use of undefined constant b - assumed 'b' in D:\phpServer\WWW\test\
test.php on line 11
 
Notice: Use of undefined constant b - assumed 'b' in D:\phpServer\WWW\test\test.
php on line 11
 
*/
 
echo $test->{'x-b'}; //这种属性里面有-的这样包一下

以上所述是小编给大家介绍的PHP工厂模式的日常使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
dedecms模版制作使用方法
Apr 03 PHP
PHP Squid中可缓存的动态网页设计
Sep 17 PHP
php getimagesize 上传图片的长度和宽度检测代码
May 15 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
PHP中for与foreach的区别分析
Mar 09 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
PHP5多态性与动态绑定介绍
Apr 03 PHP
PHP自动生成表单代码分享
Jun 19 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
PHP实现批量上传单个文件
Dec 29 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
PHP函数积累总结
Mar 19 #PHP
PHP与Perl之间知识点区别整理
Mar 19 #PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 #PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 #PHP
php+ajax 文件上传代码实例
Mar 18 #PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 #PHP
详解php中curl返回false的解决办法
Mar 18 #PHP
You might like
php带密码功能并下载远程文件保存本地指定目录 修改加强版
2010/05/16 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
js+html实现周岁年龄计算器
2019/06/25 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
浅析Python中else语句块的使用技巧
2016/06/16 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
Python学习思维导图(必看篇)
2017/06/26 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
J2EE是技术还是平台还是框架
2016/08/14 面试题
股东协议书范本
2014/04/14 职场文书
医院节能减排方案
2014/06/13 职场文书
电力培训心得体会
2014/09/02 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS