我想创建自己的课程,以使我的代码有用且简单。我想替换(例如)
$facebook->api('/me');
到
$myclass->me();
例如,在墙上张贴我需要写
$facebook->api('/me/feed','post',$atch);
我想成功
$myclass->msg($msg);
我如何使用 facebook 类创建自己的类(并且我使用另一个 DB 类)
谢谢你暂停
选项 #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。