小编Mar*_*ace的帖子

正确处理这种构造函数的方法

我有一个像这样的构造函数:

public function __construct($data)
{
    $this->_data = new SimpleXMLElement($data);
}
Run Code Online (Sandbox Code Playgroud)

哪个好.但是,我想提供传递simplexmlelement或字符串的机会.

就像是:

public function __construct($data)
{
    if (is_string($data)) {
        $data = new SimpleXMLElement($data);
    }
    $this->_data = $data;
}
Run Code Online (Sandbox Code Playgroud)

这是不好的做法吗?

我的想法是,客户端代码可以决定它想要预先做多少工作.但它会导致任何问题吗?

php oop design-patterns

1
推荐指数
1
解决办法
83
查看次数

PHP spec - 特定类型的数组

在phpspec中,如何测试类属性是否包含特定类型的数组?

例如:

class MyClass
{
   private $_mySpecialTypes = array();

   // Constructor ommitted which sets the mySpecialTypes value

   public function getMySpecialTypes()
   {
      return $this->_mySpecialTypes;
   }
}
Run Code Online (Sandbox Code Playgroud)

我的规格看起来像这样:

public function it_should_have_an_array_of_myspecialtypes()
{
    $this->getMySpecialTypes()->shouldBeArray();
}
Run Code Online (Sandbox Code Playgroud)

但我想确保数组中的每个元素都是类型 MySpecialType

什么是在phpspec中做到这一点的最好方法?

bdd phpunit rspec phpspec

1
推荐指数
1
解决办法
1118
查看次数

增加php中的角色

相对于字母位置增加php中的字符的工作方式如下:

$a = 'a'; 
++$a;
echo $a;
Run Code Online (Sandbox Code Playgroud)

输出为'b'

但是,是否可以将位置增加倍数,例如10.

$a = 'a'; 
$a += 2;
echo $a;
Run Code Online (Sandbox Code Playgroud)

这输出一个不是'c'的整数

php

1
推荐指数
1
解决办法
2083
查看次数

PHP字符串转换规则

PHP中的字符串到int的转换规则是什么?

例如,我有以下返回0:

var_dump((int)"test0");
var_dump((int)"test1");
var_dump((int)"test2");
Run Code Online (Sandbox Code Playgroud)

并且看起来如果字符串以数字开头,那么它将修剪字符并仅使用数字部分.如下:

var_dump((int)"1test");
var_dump((int)"2test");
var_dump((int)"3test");
Run Code Online (Sandbox Code Playgroud)

这些分别返回1,2和3.

现在,这是一个明确的规则,还是有例外?

php

0
推荐指数
1
解决办法
70
查看次数

Magento 平面目录产品 - 1、2 和 3

在magento中使用平面目录选项时,为什么magento有以下表格:

flat_catalog_product_1
flat_catalog_product_2
flat_catalog_product_3
Run Code Online (Sandbox Code Playgroud)

为什么不只是一张单桌?

magento

0
推荐指数
1
解决办法
414
查看次数

php提取具有特定键的子数组

如果我有以下数组:

array(
   'var1' => 123,
   'var2' => 234,
   'var3' => 345
);
Run Code Online (Sandbox Code Playgroud)

我想提取其中的特定部分来构建一个新数组,即 var1 和 var3。

我想要的结果是:

array(
   'var1' => 123,
   'var3' => 345
);
Run Code Online (Sandbox Code Playgroud)

发布的示例非常精简,实际上数组具有更多数量的键,我希望提取更多数量的键,并且某些键可能存在也可能不存在。

有没有内置的 php 函数可以做到这一点?

编辑:

要提取的键将被硬编码为类中的数组,即 $this->keysToExtract

php

0
推荐指数
1
解决办法
1339
查看次数

如果Singletons不好,那么如何为框架存储全局状态

如果单例被认为对全局状态不利,特别是可能影响代码主要执行的状态,那么应该如何处理全局状态呢?

想到的直接事情是:

  • 基本网址
  • 基本文件路径
  • 一般配置
  • 记录实例
  • 等等

我不能看到除了单身之外的任何其他方式来访问这些,如App()类或类似的?

java oop singleton design-patterns

0
推荐指数
1
解决办法
660
查看次数

标签 统计

php ×4

design-patterns ×2

oop ×2

bdd ×1

java ×1

magento ×1

phpspec ×1

phpunit ×1

rspec ×1

singleton ×1