PHP类的结构,是否使用静态方法?

时间:2011-07-20 09:48:38

标签: php class static class-design nominet

我正在编写一个自定义域管理类,它使用各种外部服务,一种包装类使它们一起工作。

我会把连接逻辑放在这个类中吗?我不会立刻需要所有的服务,所以将它放在构造函数中是没有意义的,我实际上认为一些方法会更好地作为静态方法,因为它们并不真正相互关联,他们唯一的共同点是潜在的联系。

我将采用以下方法:

  • registerDomain()(联系Nominet)
  • updateDomain(),
  • domainAvailable(),(联系Nominet)
  • registerDNS(),(联系Amazon& Nominet)
  • updateDNS(),

我应该在每次调用中检查连接属性(如果不存在则创建它)或者在类构造函数中连接?

1 个答案:

答案 0 :(得分:2)

我认为按照以下方式创建一些东西是有意义的:

class DomainManager {
    public function __construct($domainData) {}
    public function registerDomain() {
        //connect
        //do stuff
    }
    public function updateDomain() {
        //connect
        //do stuff
    }
    public function isAvailable() {
        //connect
        //do stuff
    }
    public function registerDns() {
        //connect
        //do stuff
    }
    public function updateDns() {
        //connect
        //do stuff
    }
    private function connectToNominet() {}
    private function connectToAmazon() {}
}

然后你有一个很好的对象,它封装了一个域可用的逻辑:

$domain1 = new DomainManager('example.com', $user, $foo);
$domain->registerDomain();
$domain->registerDns();