如何制作我自己的facebook课程


how to make my own facebook class

我想创建自己的类,使我的代码变得有用和简单。我想更换

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

$myclass->me();

例如,要在墙上张贴,我需要写

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

我想把它做成

$myclass->msg($msg);

我如何使用facebook类(我使用另一个DB类)创建自己的类

感谢halp

选项#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类冲突时,第二个选项更好。更易于维护,更易于扩展。


我曾经使用过许多API(ebay,paypal,amazon,fb等)我通常创建2-3个类:

  1. 第一个就是发送和下载数据。例如,具有缓存的SOAP类
  2. 第二类是创建适当的请求,并使用1。类
  3. 最简单的一个(和你的一样)-只需要简单快捷地请求类(这是你的基类)

我知道使用extend是最常见的做法,但就我个人而言,我更喜欢选项#2。