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 相关文章推荐
PHP+DBM的同学录程序(1)
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
php面向对象全攻略 (八)重载新的方法
Sep 30 PHP
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
Jun 05 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
Oct 30 PHP
Laravel中注册Facades的步骤详解
Mar 16 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python实现两款计算器功能示例
2017/12/19 Python
python3学生名片管理v2.0版
2018/11/29 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
对python中的装包与解包实例详解
2019/08/24 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
使用python实现多维数据降维操作
2020/02/24 Python
python 下划线的不同用法
2020/10/24 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
北美大型运动类产品商城:Champs Sports
2017/01/12 全球购物
百联网上商城:i百联
2017/01/28 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
国际贸易专业推荐信
2013/11/15 职场文书
品质主管岗位职责
2014/03/16 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android