PHP工厂模式的日常使用

yipeiwu_com6年前PHP代码库

负责生成其他对象的类或方法,这就是工厂模式,下面是一个经常见到的用法

<?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工厂模式的日常使用详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【宜配屋www.yipeiwu.com】网站的支持!

相关文章

PHP运行模式汇总

PHP运行模式有4钟: 1)cgi 通用网关接口(Common Gateway Interface)) 2) fast-cgi 常驻 (long-live) 型的 CGI 3) cli...

php基于 swoole 实现的异步处理任务功能示例

本文实例讲述了php基于 swoole 实现的异步处理任务功能。分享给大家供大家参考,具体如下: 安装swoole: 下载官方swoole压缩包,解压进入目录 $ cd swoole...

Laravel 5.3 学习笔记之 配置

1、简介 Laravel 的所有配置文件都存放在 config 目录下,每个配置项都有注释,以保证浏览任意配置文件的配置项都能直观了解该配置项的作用及用法。 2、访问配置值 你可以使...

php 记录进行累加并显示总时长为秒的结果

现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录: 00:22:32 13:42:21 134:42:21 表示的是时长,但是,保存类型是文本。 现在要...

PHP中防止直接访问或查看或下载config.php文件的方法

或是,PHP的设计本身就避免直接查看文件内容的情况? 从安全角度考虑,这个系统级的文件应该做什么保护措施? 网友完善的答案 经调研,得出以下常用方法: 1 在程序中定义一个标识变量 复制...