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实现小型站点广告管理
Oct 09 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
php三维数组去重(示例代码)
Nov 26 PHP
php实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
使用symfony命令创建项目的方法
Mar 17 PHP
PHP+Ajax实现验证码的实时验证
Jul 20 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
php实现简单的守护进程创建、开启与关闭操作
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
apache+mysql+php+ssl服务器之完全安装攻略
2006/09/05 PHP
PHP中的类-什么叫类
2006/11/20 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
求数组最大最小值方法适用于任何数组
2013/08/16 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
浅谈Python 递归算法指归
2019/08/22 Python
python十进制转二进制的详解
2020/02/07 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
python中判断文件结束符的具体方法
2020/08/04 Python
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
办公室员工岗位工作职责
2014/03/10 职场文书
担保书怎么写
2014/04/01 职场文书
2014离婚协议书范文
2014/09/10 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
Java 死锁解决方案
2022/05/11 Java/Android