Mam taki oto problem, stworzyłem klasę, której obiekt wyświetla na stronie dane konkretnej osoby z bazy danych. Dodałem ocenianie (dodawanie typu oceny, np. "uczciwość" oraz samej oceny w postaci klikanej gwiazdki od 1 do 5) i zrobiłem to poprzez XMLHttpRequest, który wysyła odpowiedni POST do drugiego pliku PHP, gdzie ma miejsce dalsza obróbka samego oceniania, czyli odpowiednie zapytania SQL SELECT, INSERT, UPDATE i tak dalej.
Chciałbym w tym drugim pliku móc jakoś pobrać stworzony wcześniej obiekt, gdyż potrzebuję dostępu do pewnych metod. Co prawda mogę zrobić singleton, czy zapisać obiekt wcześniej w sesji i go sobie pobrać z dowolnego dalej miejsca, ale wydaje mi się to być niezgodne z przyjętymi zasadami oop lub nawet z jakimiś zasadami bezpieczeństwa.
Wysłanie $this jako argumentu do POST w XMLHttpRequest nie działa, bo wywala błąd z castowaniem. Czy istnieje możliwość przesłania obiektu jako POST do drugiego pliku? A może da się to zrobić w inny, bardziej elegancki sposób?
piszesz, że potrzebujesz dostępu do pewnych metod. w obu plikach extenduj tą samą klasę w których zdefiniujesz potrzebne metody
@cube: Tak, to się zgadza, tylko ten obiekt ma nadpisane pola z MySQL, a metody, na których mi zależy, wykorzystują te pola. I ten sam problem dotyczy tego, co napisał @ChomikBojowy - oczywiście mogę w drugim pliku pobrać tylko ID, na nowo potworzyć obiekty, zapytania. Ale myślałem, że mogę po prostu przesłać
@ChomikBojowy: Chyba się nie zrozumieliśmy, może ja jakoś to pokrętnie tłumaczę. Mam klasę, która zawiera pola, czyli firstName, lastName itp. do tego gettery tych pól i metody, jak np. AddRate(), która dodaje ocenę i inne pola.
Ładuje się strona, tworzę obiekt, z GET pobieram ID i ten ID jest wykorzystywany w konstruktorze jako argument do pobrania danych osoby z MySQL. Ładnie pobiera wszystkie dane i wyświetla w tabelkach na stronie, wszystko
@ChomikBojowy: Oczywiście, że mogę drugi raz stworzyć ten obiekt. Myślałem po prostu, że mogę uniknąć dublowania i zamiast tego po prostu pobrać wcześniej raz stworzony obiekt.
@Radeg90: możesz go zserializować w jednym pliku i przesłać jako string do drugiego. Tam deserializacja. Ale jeśli to encja z bazy to raczej unikałbym takiego przesyłania.
Chciałbym w tym drugim pliku móc jakoś pobrać stworzony wcześniej obiekt, gdyż potrzebuję dostępu do pewnych metod. Co prawda mogę zrobić singleton, czy zapisać obiekt wcześniej w sesji i go sobie pobrać z dowolnego dalej miejsca, ale wydaje mi się to być niezgodne z przyjętymi zasadami oop lub nawet z jakimiś zasadami bezpieczeństwa.
Wysłanie $this jako argumentu do POST w XMLHttpRequest nie działa, bo wywala błąd z castowaniem. Czy istnieje możliwość przesłania obiektu jako POST do drugiego pliku? A może da się to zrobić w inny, bardziej elegancki sposób?
#php #js #javascript #pytanie
Komentarz usunięty przez autora
@cube: Tak, to się zgadza, tylko ten obiekt ma nadpisane pola z MySQL, a metody, na których mi zależy, wykorzystują te pola. I ten sam problem dotyczy tego, co napisał @ChomikBojowy - oczywiście mogę w drugim pliku pobrać tylko ID, na nowo potworzyć obiekty, zapytania. Ale myślałem, że mogę po prostu przesłać
Komentarz usunięty przez autora
Ładuje się strona, tworzę obiekt, z GET pobieram ID i ten ID jest wykorzystywany w konstruktorze jako argument do pobrania danych osoby z MySQL. Ładnie pobiera wszystkie dane i wyświetla w tabelkach na stronie, wszystko
Komentarz usunięty przez autora