<?php class Buy { private $_id_serwera; private $_flaga; private $_flaga_dostepu; private $_dni; private $_time; public function __construct($id_serwera, $flaga, $flaga_dostepu, $dni, $time) { $this->_id_serwera = $id_serwera; $this->_flaga = $flaga; $this->_flaga_dostepu = $flaga_dostepu; $this->_dni = $dni; $this->_time = $time; } public function sprawdz($kod_sms, $numer) { $API = $Pobieranie['api_gamesol']; if($kod_sms == 'test1' || $kod_sms == 'test2' || $kod_sms == 'test3' || $kod_sms == 'test4' || $kod_sms == 'test5' || $kod_sms == 'test6' || $kod_sms == 'test9' || $kod_sms == 'test17' || $kod_sms == 'test20' || $kod_sms == 'test25') { return false; } $wynik = file_get_contents("http://gamesol.pl/api/sms-pro.php?id=".$API."&taryfa=".$numer."&kod=".$kod_sms."&opis=sloenthran:shop"); $wynik_tab = json_decode($wynik, true); if($wynik_tab['blad'] != 0) { return false; } else { return true; } return false; } public function zakoncz($nick, $haslo) { { $upraw = $this -> _flaga; $flagi = $this -> CheckFree($this->_id_serwera, $nick, $upraw); if(!$flagi) { $exp = $this->_time + ($this->_dni * 86400); mysql_query("INSERT INTO `amx_amxadmins` VALUES(NULL, '{$nick}', '{$pass}', '{$upraw}', '{$this->_flaga_dostepu}', '{$nick}', '{$nick}', 0, 0, '{$this->_time}', '{$exp}', {$this->_dni})"); return TRUE; } else { return TRUE; } } return FALSE; } private function CheckFree($sid = 0, $na_co = '', $upraw = '') { { $newFlags = $this->sumFlags($row['access'], $upraw); $ex = ($this->_time + ((($row['expired'] - $this->_time) + ($this->dni * 86400)) / 2)); $query2 = mysql_query("SELECT * FROM `amx_admins_servers` WHERE `admin_id` = '{$row['id']}' AND `server_id` = '{$this->_id_serwera}'"); { return TRUE; } else { mysql_query("INSERT INTO `amx_admins_servers` VALUES ({$row['id']}, {$this->_id_serwera}, '', 'no')"); return TRUE; } return FALSE; } return FALSE; } private function sumFlags($flagi_a = "", $flagi_b = "") { { $out .= $flagi_b[$i]; } $to = str_split($flagi_a . $out); return $ciag; } } ?>
I ktoś powiedział mi że lepiej abym zamiast za każdym razem ciągle pisać (kilka tych samych klas tylko z zmienioną funkcją sprawdź) to samo to lepiej skorzystać z klas abstrakcyjnych bądź interfejsów... Próbowałem taką klasę samemu jednakże nic mi nie wychodzi... Czy mógłby ktoś z kodu wyżej napisać mi coś takiego?