Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IRCBot - problemy z OOP
dworakex
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 1
Dołączył: 30.06.2009

Ostrzeżenie: (10%)
X----


Zacząłem dziś robić mojego IRCBota, na podstawie starego, ale w pełni obiektowy. Chodzi mi o to, aby można było dodawać moduły w czasie pracy, bez wyłączania bota. tylko, jako ja zawsze chcę wszystko udziwnić, więc postanowiłem go zrobić z obsługą wielu serwerów.. I tu jest problem - chcę zrobić tzn. handler to danego serwera, używany potem w funkcjach. narazie wykodziłem cos takiego:
  1. <?php
  2. class IRC {
  3.  
  4. public $serverInfo = array();
  5.  
  6. public function SetVariableServer($server,$nick="dworakexs_bot",$port=6667) {
  7. $this->serverInfo[$server] = array('address'=>$server,'port'=>$port,'nick'=>$nick,'connected'=>0);
  8. return $this->serverInfo[$server];
  9. }
  10.  
  11. public function SetVariableNick(&$sh/*Server Handler*/,$nick) {
  12. $sh["nick"] = $nick;
  13. var_dump($sh);
  14. }
  15.  
  16. public function SetServer($sh/*Server Handler*/) {
  17. $this->Connect($sh/*Server Handler*/);
  18. }
  19.  
  20. public function Connect($sh/*Server Handler*/) {
  21. /*Łączenie*/
  22. }
  23.  
  24. public function SetNick($sh/*Server Handler*/) {
  25. /*Zmiana nicku*/
  26. }
  27.  
  28. }
  29.  
  30. echo "Test\n";
  31. $IRC = new IRC;
  32. $quake = $IRC->SetVariableServer("irc.quakenet.org");
  33. $node = $IRC->SetVariableServer("irc.freenode.net");
  34. var_dump($IRC->serverInfo);
  35. echo "Test 2\n";
  36. $IRC->SetVariableNick($quake, "symbian");
  37. $IRC->SetVariableNick($node, "debian");
  38. $IRC->SetVariableNick($quake, "ubuntu");
  39. var_dump($IRC->serverInfo);
  40. ?>


Wszystko OK, żadnych błędów, ale nie zmienia nicka w tablicy $IRC->serverInfo, gdzie są pola address, port, nick, connected - funkcja SetVariableNick ma służyć za zmienianie nicku w tabeli, a SetNick za zmienianie na serwerze.
Mam małe pojęcie na temat OOP, cały czas się ucze. Spróbowałem też zastosować referencje, ale chyba coś robię żle. I jeszcze jedno pytanie - jak zastosować dynamiczne moduły?
Go to the top of the page
+Quote Post

Posty w temacie
- dworakex   IRCBot - problemy z OOP   15.11.2009, 11:39:31


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:30