![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam pewien problem na początek dodam że to pierwszy mój skrypt w oop więc pewnie głupie pytanie zadam. Przedstawię kod:
jak zrobić żeby przekazać wartość $ZMIENNA od razu do $current_position żeby wyglądało to tak: private $current_position = $ZMIENNA; tylko że tak się nie da, próbowałem różnych opcji ale nie wiem czy podczas deklaracji rodzaju zmiennej można nadać jej wartość innej zmiennej? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wywołujesz klasę to_next z jakimś parametrem np.
Poczym w __construct($zmienna) przypisujesz
Ewentualnie: W __construct klasy to_next, robisz
Ten post edytował !*! 27.06.2012, 11:02:04 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie nie ok tak wiem że można ale nie do końca o to chodzi spójrzmy na to tak
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie da się i już.
Napisz lepiej co chcesz przez to osiągnąć to ci napiszemy jak to zrobić a nie sam bez sensu kombinujesz. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
No właśnie autor tak trochę bez sensu kombinuje, nie chciałem tego pisać, ale już ok.
Są inne sposoby na takie działania tylko nie wiemy o co chodzi. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat nie chciałem tego pisać, ale już ok. No ale skoro się znalazł taki jeden wredny co to napisał to już ok.... ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie możesz ponieważ klasy są hermetyczne i wszytko co jest w nich, działa tylko w ich obrębie, a dane z zewnątrz o ile nie są do nich przekazywane, zwyczajnie nie zadziałają. Musisz przekazywać informacje do klasy, a na tym polega oop (szczególnie że 1 plik = 1 klasa).
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
już Wam mówię o co chodzi.
jest plik do zmiany wersji językowej, działa super nie mam zastrzeżeń, posiada jedną klasę a w niej na początku są 4 zmienne z czego jedna mnie interesuje jest to private current_language = FALSE; czyli bieżący język jest ustawiony na 0. Przed tą klasą w tym samym pliku dopisałem inną klasę geolokalizacji która sprawdza gdzie się znajdujesz i jaki włączyć Ci bieżący język strony. Ta klasa działa też bez zarzutu w $X mam kod danego kraju który chciałem przekazać do tej drugiej klasy do zmiennej private current_language która domyślnie jest pusta. W jednym z tematów na tym forum było poruszone zagadnienie przekazania zmiennej pomiędzy klasami lecz u mnie to nie działało. Może inaczej jak taki kod:
zmieścić w tej zmiennej:
tak żeby ta zmienna była równa wynikowi działania klasy powyżej |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie chce mi się specjalnie czytać tego tematu, więc dam swojego exampla, mam nadzieję, że trafiłem w sedno tematu.
-------------------- :)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
przerobiłem już tak skrypt że zmienną mam w sesji teraz kwestia ustawienia jej to znaczy jak zrobić w oop coś takiego
taki zapis jest błędny chodź nie do końca wiem dlaczego, więc jak teraz zrobić żeby zmiennej $curent_lang przypisać wartość zmiennej sesyjnej $_SESSION['lang'] ![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
No stary, to podstawy. Dałem Ci przykład przecież.
Robisz sobie metodę do ustawiania zmiennej :
i na swoim obiekcie robisz operacje :
-------------------- :)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
nie no wszystko ok za przykład dziękuje ale ale wszystko ok do czasu przykład się sprawdza ale problem polega na tym jak to zrobić wewnątrz klasy pierwszy przykład był jak ustawić na zewnątrz klasy, zrobinie metody nie jest problemem dla mnie, nie potrafię tej metody wywołać wewnątrz klasy ot cały problem
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czytałeś co napisałem? Klasy są hermetyczne. Więc jak chcesz przesłać coś z zewnątrz, bez wywołania metody? Nie ma sposobu i nie kombinuj, tylko zrób to jak należy.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
A to nie może użyć konstruktora sparametryzowanego?
![]() new Klasa a nie może być new Klasa(parametr) ![]() Poczytajcie manual choćby do dowolnego języka OOP, bo PHP tak też działa
To nam załatwia problem elegancko. W ten sposób można przecież inicjalizować jedną klasę obiektami innej klasy... Popatrzcie choćby na inne niż PHP języki. Tam nieraz nie ma jednego ale kilka konstruktorów reagujących na obiekt przesłany jako parametr i dzięki temu można różne wersje konstruktora odpalić. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To jest tak oczywiste że nie warto o tym wspominać.
Powód edycji: [thek]: I chyba dlatego najprostsze rzeczy najtrudniej przychodzą do głowy ;)
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 3 Dołączył: 15.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
podpowiedź thek podziałała dzięki za pomoc
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
A to nie może użyć konstruktora sparametryzowanego? ![]() new Klasa a nie może być new Klasa(parametr) ![]() Poczytajcie manual choćby do dowolnego języka OOP, bo PHP tak też działa
To nam załatwia problem elegancko. W ten sposób można przecież inicjalizować jedną klasę obiektami innej klasy... Popatrzcie choćby na inne niż PHP języki. Tam nieraz nie ma jednego ale kilka konstruktorów reagujących na obiekt przesłany jako parametr i dzięki temu można różne wersje konstruktora odpalić. Dobrze, że autor dopiero teraz zauważył, bo już na samym początku napisałem to samo z przekazaniem zmiennej poprzez konstruktor klasy. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
@Szymciosek: Ty i !*! też to zrobiliście, ale !*! zamieszał w to jeszcze settera (zupełnie niepotrzebnie, choć już zaznaczył tam konstrukcję __construct($zmienna) ) i stąd może autor się pogubił. Ja tylko nieco mocniej zaznaczyłem, że takie rozwiązanie istnieje i dziwiłem się, że niektórzy tego albo nie zauważyli, albo cudują. Swój punkt przeniosłem na Was obu, bo to Wam się on należy. Ja tylko potrząsnąłem autorem by wrócił "na właściwe tory"
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:15 |