我想创建自己的类,使我的代码变得有用和简单。 我想替换(例如)
$facebook->api('/me');
到
$myclass->me();
发布在墙上,例如我需要写
$facebook->api('/me/feed','post',$atch);
我想成功
$myclass->msg($msg);
如何使用facebook类创建我自己的类(我使用另一个DB类)
感谢halp
答案 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个类:
我知道使用extend
这是最常见的做法,但我个人更喜欢选项#2。