我想创建自己的类,使我的代码变得有用和简单。我想更换
$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个类:
- 第一个就是发送和下载数据。例如,具有缓存的SOAP类
- 第二类是创建适当的请求,并使用1。类
- 最简单的一个(和你的一样)-只需要简单快捷地请求类(这是你的基类)
我知道使用extend
是最常见的做法,但就我个人而言,我更喜欢选项#2。