0

コードを便利で簡単にするために、独自のクラスを作成したいと考えています。交換したい(例)

$facebook->api('/me');

$myclass->me();

たとえば、壁に投稿するには、書く必要があります

$facebook->api('/me/feed','post',$atch);

作りたい

$myclass->msg($msg);

Facebookクラスを使用して独自のクラスを作成するにはどうすればよいですか(そして別のDBクラスを使用しています)

半分ありがとう

4

1 に答える 1

3

オプション #1 - OOP の迅速で簡単な一般的な方法

class myFacebook extends facebook {
  public function me() {
    return $this->api('/me');
  }
  public function msg($msg) {
    return $this->api('/me/feed','post',$msg);
  }
}

オプション #2 (代替) - 保守が容易で、基本クラスのプロパティと衝突せず、拡張が容易です。それはAPIのためのAPIのようなものです:)

class myFacebook {
  public $api;
  public function __construct() {
    $this->api = new facebook(); // your base class
  }
  public function me() {
    return $this->api->api('/me');
  }
  public function msg($msg) {
    return $this->api->api('/me/feed','post',$msg);
  }
  public function api() {
    // more difficult to declare that function in #1 option
  }
}

クラスが多くのキーワードを使用し、基本 API クラスと衝突する可能性がある場合は、2 番目のオプションが適しています。メンテナンスが容易になり、拡張が容易になります。


私は多くの API (ebay、paypal、amazon、fb など) を扱っていました。 私は通常、2-3 クラスを作成します。

  1. 1つ目は、データの送信とダウンロードだけです。たとえば、キャッシング付きの SOAP クラス。
  2. 2 番目のクラスは、適切なリクエストを作成し、1. クラスを使用しています。
  3. 最も単純化されたもの(あなたのようなもの)-リクエストクラス(基本クラス)への簡単で迅速なショートカットがあるだけです

を使用するのが最も一般的な方法であることは知ってextendいますが、個人的にはオプション #2 を好みます。

于 2012-09-04T14:43:16.910 に答える