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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
Yii2第三方类库插件Imagine的安装和使用
Jul 06 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 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
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
jQuery 使用个人心得
2009/02/26 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
javascript中this关键字详解
2016/12/12 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
vue使用代理解决请求跨域问题详解
2019/07/24 Javascript
js实现录音上传功能
2019/11/22 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
2020/03/14 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
简单谈谈Python流程控制语句
2016/12/04 Python
python读取二进制mnist实例详解
2017/05/31 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
销售文员的岗位职责
2013/11/20 职场文书
五心教育心得体会
2014/09/04 职场文书
户籍证明书标准模板
2014/09/10 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server