Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klasa API do gier Totalizatora Sportowego
Forum PHP.pl > Inne > Oceny
Beniooo
Cześć, czy moglibyście ocenić jak działa moje autorskie API pobierające wartości losowań różnych gier totalizatora sportowego?

Aktualnie działa pobieranie Lotto, Lotto Plus, oraz EkstraPensja

https://github.com/G910/LottoAPI

Każda ocena i podpowiedź jest cenna! wink.gif
Pyton_000
Strasznie dużo kodu się duplikuje. Każda metoda praktycznie w 98% ma ten sam kod.

Masz tu jeden z przykładów jak można by napisać:
  1. private function isDateValid($date)
  2. {
  3. $isCorrectData = preg_match("|[0-9]{4}-[0-9]{2}-[0-9]{2}|", $date);
  4. if ($date !== null && !$isCorrectData) {
  5. $this->_lastErrorCode = "clientSide1";
  6. $this->_lastErrorDesc = "Data wprowadzona w niewłaściwym formacie. Prawidłowy: YYYY-MM-DD";
  7.  
  8. return false;
  9. }
  10. return $date;
  11. }
  12.  
  13. public function getLotto($date = null)
  14. {
  15. if(($date = $this->isDateValid($date)) === false) {
  16. return false;
  17. }
  18.  
  19. $data = [];
  20. $data['type'] = 'getLotto';
  21. if ($date !== null) {
  22. $data['type'] .= 'ByDate';
  23. $data['date'] = $date;
  24. }
  25.  
  26. return $this->curl($data);
  27. }


- brak autoloadera (composer nie gryzie smile.gif a mega ułatwia)
-
  1. if(isset($response['status']) && $response['status'] == 1){
  2. $this->_connected = true;
  3. $this->_token = $response['token'];
  4. return true;
  5. }else{
  6. $this->_lastErrorCode = $response['error']['code'];
  7. $this->_lastErrorDesc = $response['error']['description'];
  8. return false;
  9. }

Skoro robisz return true to else już nie potrzebne wink.gif Poza tym odwracając warunek kod będzie czytelniejszy. :
  1. if(empty($response['status'])) {
  2. $this->_lastErrorCode = $response['error']['code'];
  3. $this->_lastErrorDesc = $response['error']['description'];
  4. return false;
  5. }
  6.  
  7. $this->_connected = true;
  8. $this->_token = $response['token'];
  9. return true;


- brak namespace
- $_clientSecret - tak się już nie pisze (chodzi o _ dla oznaczenia widoczności)
- Skoro zwracasz w odpowiedzi array to dlaczego przy błędzie zwracasz fals? Powinna być pusta tablica.
- Wyjątki a raczej ich brak. Zamiast zgadywać czy zadziałało czy nie wystarczy rzucić w pysk Exception smile.gif
- Debug - echo ? seriously ?

To tak na dzień dobry smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.