как сделать свой собственный класс facebook

Я хочу сделать свой собственный класс, чтобы сделать мой код полезным и легким. я хочу заменить (например)

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

в

 $myclass->me(); 

для публикации на стене, например, мне нужно написать

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

я хочу это сделать

 $myclass->msg($msg); 

как я могу сделать свой собственный класс, используя класс facebook (и я использую другой класс DB)

спасибо за остановку

Вариант № 1 – быстрая, простая, обычная практика для ООП

 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.