Autor | Zpráva | ||
---|---|---|---|
TomasJ Profil |
Ahoj.
Po delší době jsem opět začal s OOP (už jsem jednou začínal, ale nějak jsem se na to vykašlal). Udělal jsem si pro začátek 2 třídy. Převádím postupně kód s klasickými (jestli správně nazývám - procedurálními) funkcemi, na třídy, prostě OOP. Jedná se o funkční chat, jen je v něm nepořádek, a myslím, že OOP soubor výrazně zkrátí, a vyhnu se zbytečnému načítání něčeho co zrovna potřebovat nebudu. Poprosil bych o překontrolování odborníky - jestli je dobře navrhnutý, jak jej případně napravit, prostě jestli takto můžu postupovat dále. Ještě prosím, vyhněte se (pokud můžete) odbornému popisování. Začínám, a pořádně ty odborné názvy "toho a toho" neznám. Děkuji, tady je můj kód: <?php class Login{ protected $ip, $alvl, $mail, $nick, $accID, $chat_time; public function __construct(){ throw new exception("Pristup k tride ".get_class($this)." byl odmitnut."); } protected function login($userData){ $this->ip = $_SERVER['REMOTE_ADDR']; $this->alvl = $userData[4]; $this->mail = $userData[3]; $this->nick = $userData[0]; $this->accID = $userData[2]; $this->chat_time = time(); } } class Chat extends Login{ public function __construct($userData){ if(!is_array($userData)) throw new exception("Data nejsou typu Pole!"); if(count($userData)!=5 || in_array("",$userData)) throw new exception("Nektera data nebyla vyplnena."); $this->login($userData); } public function GetData(){ echo "Nick: {$this->nick}| AccountID: {$this->accID}| E-mail: {$this->mail}| Admin level: {$this->alvl}| IP: {$this->ip}| Loaded: {$this->chat_time}"; } } try{ $chat = new Chat(Array("nick","password","accountID","email","0")); $chat->GetData(); } catch(exception $err){ echo "Chyba: ".$err->getMessage(); } ?> Třídu Login mám pouze pro přihlášení a chci aby šla zavolat pouze z nějaké třídy (momentálně třída Chat) a jen při vytvoření nové instance. |
||
WertriK Profil |
#2 · Zasláno: 23. 8. 2012, 23:49:37
Ahoj Tome, dřív než na detailní strukturu tříd tě upozorním na samotné třídy.
Pokud chceš zatím s OOP je dobré si nejdřív uvědomit že se díváš na objekty, jenž mají nějaké vlastnosti a funkce. Pokud chceš dělat chat, první co by tě mělo trknout je, že tam bude nějaký uživatel. User bude moci - registrovat se, přihlásit se, odhlásit, změnit údaje atd. Dále tam budou figurovat jednotlivé posty v tom chatu. Třida Message - čas, od uživatele, (pro uživatele), text atd. Potom nějaká třída která to dá dohromady třeba chat. Třeba ti pomůže i stařičké vlákno, kde je rozebráno tvorba knihy náštěv v OOP. OOP |
||
TomasJ Profil |
No ono to je bez přihlášení a registrace (registrace je na herním serveru), samotný chat (skupinový) - "všichni se všema".
Tohle je zatím začátek. Vše jde přes UDP server, propojené s jedním herním serverem, takže ono tam zas těch informací moc nebude no... A za odkaz děkuji, určitě se mi hodí! :) |
||
Časová prodleva: 12 let
|
0