由于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) 是否有更好/更简单的方法来查找目录中的图像数量并将它们输出到变量?
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.
谁能告诉我在哪里可以找到Ruby 1.8.6所以我可以在我的Centos 5机器中找到它?
谢谢.