![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pisze sobie kod i mam cos takiego
mozna jakos uzyskac dostep do zmiennej "_zmienna", chodzi mi o wyswietlenie jej wartosci |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 17 Dołączył: 4.09.2010 Skąd: far far away Ostrzeżenie: (0%) ![]() ![]() |
Ale dziwna mieszanka PHP4 i PHP5
![]() A co do twojego pytania to użyj słówka parent. I moja rada zainteresuj się różnicami w oop między PHP4 a PHP5, bo wyszła z tego idealna ochydka na żart i działa na PHP 5 tylko dlatego, że próbuje ono być kompatybilne z 4. W ogóle próbujesz tu tworzyć singleton, nie dostajesz tam jakiegoś fatala po drodze, bo aż się dziwię, że to przechodzi. Ten post edytował masiakla 5.09.2010, 00:28:44 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem czemu mialo by nie chodzic i nie bardzo wiem o co Ci chodzi
![]() A co nie mozna tak odwolywac sie do obiektow? Ze najpierw tworze go w konstruktorze a potem w innej funkcji urucham cos z tego obiektu przez zminna w ktorej zostal utworzony? Co prawda ucze sie opp wiec nie bardzo wiem dlaczego nie ![]() Wracajac do zmiennej, probowalem przez parent tez nie daje rady.. A czy wogole tak mozna? Bo tak naprawde dostep do zmiennej mam.. tylko nie do wartosci jaka jest clasie rodzica, wiec moze w blad wrowadzilem.. a chodzi mi o ta wartosc ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 17 Dołączył: 4.09.2010 Skąd: far far away Ostrzeżenie: (0%) ![]() ![]() |
Bardziej mi chodziło o to, że w jakiś kosmiczny sposób łączysz klasę pochodną z rodzicem, nie widzę w tym celu. Po za tym nie wygląda to na poprawne podejście do sprawy, nie chciało mnie się sprawdzać, ale nie wygląda to pięknie. A na twoje pytanie jak pisałem użyj parent::$_zmienna, zamiast $this->_zmienna.
P.S. Może napisz odkładnie co chcesz uzyskać, to się podpowie lepsze rozwiązanie i bynajmniej określ się czy ma to być php 4 czy 5., bo słówko var przed właściwościami sugeruje użycie wersji 4, ale dla odmiany w niej zupełnie inaczej definiuje się konstruktor, bo jest like c++ style. Dla odmiany brak widoczności przy metodach również świadczy o tym, że ma to być php 4... Cytat(PHPManual) For compatibility with PHP 4, if no visibility declaration is used, then the property or method will be treated as if it was declared as public. P.P.S. Możliwe, że twój problem wynika właśnie z tego całego bałaganiarstwa. Ten post edytował masiakla 5.09.2010, 01:02:33 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 471 Pomógł: 89 Dołączył: 29.07.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
var jest niepotrzebne, to nie pascal ![]() generalnie uzywaj operatora widocznosci przy zmiennych tzn. public private albo protected
uzywaj operatora widocznosci przy metodach tzn. public private albo protected odwolujesz sie do statycznej metody "getInstance()", klasa potomna nie ma jej zdefiniowanej, fatal error
to co robisz jest bardzo dziwne, tworzysz obiekt klasy rodzica, w nim tworzysz obiekt klasy potomnej i opakowujesz metode "start" w metode "uruchom", generalnie od dupy strony. Ewentualnie logiczne jest tu tylko uzycie singletona, bo bez niego wpadlbys w petle rekurencyjna (tzn. tworzenie dowolnego obiektu klasy potomnej lub rodzica, uruchamialoby konstruktor rodzica ktory tworzyl by nastepny obiekt, co uruchamialoby kontruktor ktory tworzylby nastepny obiekt...), ale ciezko mi wymyslec powod stosowania takiej konstrukcji takze z singletonem..
nie wiem dlaczego wszedzie wciskasz znak _, jesli tak oznaczasz pola/metody private to uzywaj do tego private poza tym dlaczego mialoby to nie dzialac ? powinno dzialac calkiem ok
da nam 15
tez da nam 15
i nawet to tez da nam 15 podsumowujac, to co tutaj wkleiles nie zadziala, rzuci Fatal Errorem. Gdybys zrobil z klasy potomnej singletona - do czego prawdopodobnie zmierzasz - to generalnie powinno zadzialac jesli dosc zmyslnie napiszesz konstruktor klasy potomnej. Pomijajac wspomniany Fatal, blad jest w miejscu ktorego tutaj nie wkleiles, widocznie masz nas za jasnowidzow Ten post edytował yevaud 5.09.2010, 03:55:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:37 |