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 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
不错的一篇面向对象的PHP开发模式(简写版)
Mar 15 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
深入PHP内存相关的功能特性详解
Jun 08 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
php 文件状态缓存带来的问题
2008/12/14 PHP
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
JavaScript中神奇的call()方法
2015/03/12 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python实现多线程的两种方式分析
2018/08/29 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
技校生自我鉴定范文
2013/09/26 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
安全生产承诺书范文
2014/05/22 职场文书
安全环保标语
2014/06/09 职场文书
文明城市创建标语
2014/06/16 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
介绍信范文大全
2015/05/07 职场文书
2016寒假假期总结
2015/10/10 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
创业计划书之寿司
2019/07/19 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
Python if else条件语句形式详解
2022/03/24 Python