小编use*_*149的帖子

我可以使用什么设计模式来模拟PHP中的特征/混合?

由于PHP 5.3 AFAIK中没有特性,我需要模仿它们提供的一些功能.接口不起作用,因为我需要具体的功能.

问题:

我有两个客户端类需要共享一些功能,但从不同的基类扩展.

ClassA extends Foo {}

ClassB extends Bar {}
Run Code Online (Sandbox Code Playgroud)

我需要能够在两个类中实现一个名为getComponent()的函数,并且它需要功能相同.

不能更改基类.我当时想做这样的事情:

Class ComponentHandler {
  function getInstance() {
    //return singleton
  }

  function getComponent() {
   //required functionality
  }
}

Class A extends Foo {

  var $handler;

  function __construct() {
    $this->handler = ComponentHandler::getInstance();
  }
}
Run Code Online (Sandbox Code Playgroud)

我将在ClassA和ClassB中实现此构造函数.在我的客户端,我会打这样的电话:

$class = new ClassA();
$class->handler->getComponent();

$class = new ClassB();
$class->handler->getComponent();
Run Code Online (Sandbox Code Playgroud)

php design-patterns traits

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

使用PHP返回文件夹中的文件总数

是否有更好/更简单的方法来查找目录中的图像数量并将它们输出到变量?

function dirCount($dir) {
  $x = 0;
  while (($file = readdir($dir)) !== false) {
    if (isImage($file)) {$x = $x + 1}
  }
  return $x;
}
Run Code Online (Sandbox Code Playgroud)

这似乎是这么长的一种方式,有没有更简单的方法?

注意:如果文件是图像,则isImage()函数返回true.

php directory file count

12
推荐指数
3
解决办法
4万
查看次数

哪里可以获得Centos OS的Ruby 1.8.6

谁能告诉我在哪里可以找到Ruby 1.8.6所以我可以在我的Centos 5机器中找到它?

谢谢.

ruby centos

10
推荐指数
4
解决办法
2万
查看次数

标签 统计

php ×2

centos ×1

count ×1

design-patterns ×1

directory ×1

file ×1

ruby ×1

traits ×1