Witam,

Wszystko zaczęło się od projektu gdzie musiałem skorzystać z API do wysyłania wiadomości SMS, ponieważ reguły projektu tego nie zabraniają poddaje pod ocenę dwie klasy które napisałem. Starałem się aby były one zgodne z PSR-0 (na czym najbardziej mi zależy to wiadomość czy faktycznie tak jest czy czegoś nie zrozumiałem smile.gif )

Klasy są do obejrzenia tutaj:

- Esemeser\Api\Simple\Sender - klasa wysyłająca wiadomości.
- Esemeser\Api\Simple\Balance - klasa do sprawdzania ile wiadomości możemy ciągle wysłać.

W niedługim czasie pojawi się również obsługa Soap więc nie omieszkam zaktualizować wątku smile.gif. Kod klas wkleiłem na zewnętrzny serwis z powodu ilości kodu, poniżej przykłady wykorzystania skryptów.


Wysyłanie wiadomości:

  1. require_once 'Esemeser/Api/Simple/Sender.php';
  2.  
  3. use Esemeser\Api\Simple\Sender as SMSSender;
  4.  
  5. try{
  6.  
  7. $sender=new SMSSender;
  8. $sender->setSender('account_name', 'login', 'password');
  9. $sender->setType('standard');
  10. $sender->setRecipient('recipient name', '123456789');
  11. $sender->setMessage('Message body');
  12. $sender->send();
  13.  
  14. echo "Message was sent";
  15.  
  16. } catch (Exception $e){
  17.  
  18. echo 'Error: '.$e->getMessage();
  19.  
  20. }


Sprawdzanie konta:


  1. require_once 'Esemeser/Api/Simple/Balance.php';
  2.  
  3. use Esemeser\Api\Simple\Balance as AccBalance;
  4.  
  5. try{
  6.  
  7. $balance=new AccBalance();
  8. $balance->setAccount('account_name', 'login', 'password');
  9. $balance->setType('standard');
  10.  
  11. $standard=$balance->getBalance();
  12.  
  13. $balance->setType('all');
  14. $all=$balance->getBalance();
  15.  
  16. echo 'You could still send: '.$standard.' standard messages or '.$all['plus'].' plus messages';
  17.  
  18. } catch (Exception $e){
  19. echo 'Error: '.$e->getMessage();
  20. }


Oczywiście wszelkie wskazówki, rady, uwagi i krytyka mile widziane smile.gif

//EDIT

Mała uwaga w klasie Sender można znaleźć:

  1. //throw new \InvalidArgumentException('Incorrect number');


Oczywiście tego komentarza nie powinno być smile.gif właśnie zaktualizowałem link do poprawnej wersji