如何制作自己的facebook课程

时间:2012-09-04 14:40:21

标签: php facebook class

我想创建自己的类,使我的代码变得有用和简单。 我想替换(例如)

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

$myclass->me();

发布在墙上,例如我需要写

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

我想成功

$myclass->msg($msg);

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

感谢halp

1 个答案:

答案 0 :(得分: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类发生冲突时,第二个选项会更好。更易于维护,更容易扩展。


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

  1. 首先是发送和下载数据。例如,带有缓存的SOAP类。
  2. 第二课正在创建正确的请求,并使用1. class。
  3. 最简化的一个(和你一样) - 只需要简单快捷的快捷方式来请求课程(这是你的基础课程)
  4. 我知道使用extend这是最常见的做法,但我个人更喜欢选项#2。