Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Obiekt i konwersja na string
shine
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 5
Dołączył: 15.04.2006

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


Mam taki kod:

  1. <?php
  2.  
  3. class szablon {
  4.  
  5.  
  6. public $nazwa_gry;
  7. public $nazwa;
  8.  
  9. public function ustaw_nazwe($nazwa) {
  10. $this -> nazwa_gry = $nazwa;
  11. return $this -> nazwa_gry;
  12. }
  13. }
  14.  
  15. $obiekt = new szablon;
  16.  
  17. echo 'Nazwa gry to' . $obiekt -> ustaw_nazwe('Gra - wojownicy');
  18.  
  19. class naglowki {
  20.  
  21. public $ktory;
  22. public $gdzie;
  23. public $wynik;
  24. public $page_content;
  25.  
  26.  
  27. public function ustaw($ktory,$gdzie)
  28. {
  29. $this -> ktory = $ktory;
  30. $this -> gdzie = $gdzie;
  31.  
  32. $this -> page_content = file_get_contents($gdzie);
  33. $this -> wynik = str_replace($this -> ktory, file_get_contents("$this -> gdzie"), $this->page_content);
  34.  
  35. //echo $this -> wynik;
  36. }
  37.  
  38. }
  39.  
  40.  
  41.  
  42. //$page_content = file_get_contents("pages/main.html");
  43.  
  44. $czesc = new naglowki;
  45.  
  46. $czesc -> ustaw("!!HEADER!!", 'design/header.html');
  47.  
  48. /*
  49. $page_content = str_replace("GORA", file_get_contents("design/common_tags.html"),$page_content);
  50.  
  51. $page_content = str_replace("NAGLOWEK", file_get_contents("design/header.html"),$page_content);
  52. $page_content = str_replace("LEWA", file_get_contents("design/left_column.html"),$page_content);
  53. $page_content = str_replace("PRAWA", file_get_contents("design/right_column.html"),$page_content);
  54. $page_content = str_replace("STOPKA", file_get_contents("design/footer.html"),$page_content);
  55.  
  56. $page_content = str_replace("DOL", $nazwa_gry,$page_content);
  57. echo $page_content;
  58. */
  59.  
  60.  
  61.  
  62. ?>


dostaje blad:
Cytat
Catchable fatal error: Object of class naglowki could not be converted to string in C:\xampplite\htdocs\gra\index.php on line 33


Probowalem na rozne sposoby, ale nie mam pojecia dlaczego taki blad (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sedziwoj
post
Post #2





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Nie wiem czemu przyjąłeś pozycję obronną, ale jak masz takie zaplecze wiedzowe, to ono Ci nic nie daje w praktyce, skoro produkujesz taki kod. Nie chodzi nawet o próbowanie, masz wiele "błędów" z samym kodem obiektów. Właściwości publiczne, nie używanie get'erów i set'erów, nazewnictwo, metody które tak na prawdę nic nie robią, a jak są inne to bez sensu jest to że ich nie umieszczasz, no i wspomniany brak enkapsulacji dla funkcjonalności.
Więc dlatego mówię abyś poczytał, a jak czytasz, to chyba bez zrozumienia. Do tego powinno raczej się zacząć od samej budowy obiektów, a potem przejść na wyższy poziom, bo jak nie zrozumiesz jak działają, jak nimi możesz się posłużyć.
Go to the top of the page
+Quote Post
jarek_bolo
post
Post #3





Grupa: Zarejestrowani
Postów: 149
Pomógł: 12
Dołączył: 3.03.2008
Skąd: łódzkie

Ostrzeżenie: (0%)
-----


Cytat(Sedziwoj @ 1.04.2008, 08:06:53 ) *
... nie używanie get'erów i set'erów...


Czytałem w jednej książce, chyba w tej: http://helion.pl/ksiazki/wzopro.htm że stosowanie getterów i setterów nie jest oznaką podejścia obiektowego. Nie mam książki przed sobą teraz, ale wieczorem w domu przejrze ją jeszcze raz i dokładniej napiszę co autor miał na myśli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #4





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(jarek_bolo @ 1.04.2008, 13:41:47 ) *
Czytałem w jednej książce, chyba w tej: http://helion.pl/ksiazki/wzopro.htm że stosowanie getterów i setterów nie jest oznaką podejścia obiektowego. Nie mam książki przed sobą teraz, ale wieczorem w domu przejrze ją jeszcze raz i dokładniej napiszę co autor miał na myśli (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Brak nie oznacza, ale odnoszenie się do zmiennych obiektu bezpośrednio już jest złym nawykiem. (Coś o tym wiem, bo już widziałem takie kody, jak kolega próbował jedną właściwość ukryć bo "coś muz mieniało" to nie mógł, bo nie dało się (sprawdź gdzie to używane jest w większej aplikacji, życzę powodzenia) i nie mógł dojść co ją zmieniało, więc jak dla mnie operacje na czystych właściwościach to porażka.

Więc chętnie posłucham co autor miał do powiedzenia, tylko oby nie wyszła czysto filozoficzna gadka.
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 20:01