1

私は、さまざまな外部サービスを使用するカスタム ドメイン管理クラスを作成しています。これは、それらを連携させるための一種のラッパー クラスです。

このクラスのどこに接続ロジックを配置しますか? 一度にすべてのサービスを必要としないので、コンストラクターに入れるのは意味がありません。実際には、メソッドのいくつかは、実際には互いに関連していないため、静的メソッドとして使用する方がよいと考えています、それらに共通しているのは、根底にある接続だけです。

次のような方法でメソッドを作成します。

  • registerDomain() (連絡先 Nominet)
  • updateDomain()、
  • domainAvailable(), (連絡先 Nominet)
  • registerDNS(), (Amazon & Nominet に連絡)
  • updateDNS(),

各呼び出しで接続プロパティを確認する (存在しない場合は作成する) か、クラス コンストラクターで接続する必要がありますか?

4

1 に答える 1

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();
于 2011-07-20T10:01:19.087 に答える