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连接access数据库
Mar 27 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
php Session无效分析资料整理
Nov 29 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
laravel添加前台跳转成功页面示例
Oct 22 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 session安全问题分析
2011/06/24 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
jquery的键盘事件修改代码
2011/02/24 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
Webpack设置环境变量的一些误区详解
2019/12/19 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
python 数据的清理行为实例详解
2017/07/12 Python
python实现网站微信登录的示例代码
2019/09/18 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
写给保洁员表扬信
2014/01/08 职场文书
家长对孩子评语
2014/01/30 职场文书
施工协议书范本
2014/04/22 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
留学生求职信
2014/06/03 职场文书
企业标语口号
2014/06/10 职场文书
设计师求职信
2014/07/01 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
Python实现科学占卜 让视频自动打码
2022/04/09 Python