![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 1 Dołączył: 3.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam pewien problem :
Powiedzmy że mam taką metodę klasy "imgfile" :
Teraz w innej klasie wywołuję tą metodę :
$row['imgid'] - zawiera kolejne id obrazków np. 1,2,3,4 Po odpaleniu : Daje mi takie coś :
Zamiast zwrócić :
Gdy w pętle 'while' dodam za każdym razem - $upload = new imgfile to problem się rozwiązuje (ale po co na nowo tworzyć obiekt klasy). Dlaczego metoda zwraca sumę kolejnych $row['imgid'] ? Ten post edytował GreeN_DG 9.02.2011, 16:46:34 -------------------- - WWW.GETICA.PL - strony WWW, logotypy, ilustracje - ZAPRASZAMY!
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 11.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 1 Dołączył: 3.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze proszę o przeniesienie --> OOP (pomyliłem dział)
Kropka ma myć : Pole $filelink posiada wartość :
Więc :
Gdy np. $imgid = 1; Ma to dać :
Niestety za drugim wywołaniem metody pole $filelink wygląda tak :
Zamiast :
Ten post edytował GreeN_DG 9.02.2011, 16:28:27 -------------------- - WWW.GETICA.PL - strony WWW, logotypy, ilustracje - ZAPRASZAMY!
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 183 Pomógł: 24 Dołączył: 4.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
masz jeden obiekt w którym jest pole filelink , do którego cały czas dodajesz ciągi znaków przez tą kropkę ".=". Najprzejrzyściej jest tworzyć obiekt w pętli while. Ew. możesz dodać metodę czysc() która ustawia filelink na domyślną wartość, ale wtedy jaki jest sens istnienia obiektu.
Ten post edytował kalmaceta 9.02.2011, 17:50:06 -------------------- kAlmAcetA
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 1 Dołączył: 3.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Teraz zrozumiałem ten problem. Jak będzie się miało do wydajności jeśli za każdym razem w pętli while będzie tworzony nowy obiekt (na szczęście nie kolejny bo ten nowy będzie zastępował stary, bowiem zmienna wskazująca będzie taka sama).
Ten post edytował GreeN_DG 9.02.2011, 18:25:15 -------------------- - WWW.GETICA.PL - strony WWW, logotypy, ilustracje - ZAPRASZAMY!
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Po co tworzyć nowy obiekt? Jeżeli przy inicjacji obecnego obiektu masz domyślą wartość $this->filelink, do której tylko dopisujesz nazwę pliku, zrób inaczej. W klasie stwórz zmienną $this->fileLinkDefault i mu przypisz domyślną wartość, a potem zamiast:
daj:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 183 Pomógł: 24 Dołączył: 4.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
@franki01 z takim podejściem jak prezentujesz do OOP - zadaj pytanie po co w ogóle obiekt.
Ten post edytował kalmaceta 10.02.2011, 13:01:33 -------------------- kAlmAcetA
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 1 Dołączył: 3.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przyznam się szczerze, że zamotałem się a rozwiązanie było takie proste. Doszukiwałem się sam nie wiem czego a jak @franki01 pisał tu chodziło o przypisywanie wartości do zmiennej, no ale fakt faktem w tym wypadku sens istnienia obiektu jest znikomy. Wystarczy w tamtej klasie sprawdzić "file_exists" bez tworzenia obiektu.
-------------------- - WWW.GETICA.PL - strony WWW, logotypy, ilustracje - ZAPRASZAMY!
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 22:05 |