![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
jest to odpowiednik formatowania dla DataTables wywołujący klasę robiąca to samo co SSP
napisałem odpowiednik klasy SSP by po pierwsze móc ja rozszerzyć o bardziej skomplikowane zapytania sql (problem z left join) a po drugie mam własny sqlHelper przykładowy formater wersja robocza nie do krytyki (IMG:style_emoticons/default/smile.gif)
jak widać zmienna np. $makeRowID spokojnie przekazuje metodę prywatną do obcej klasy gdzie spodziewałem się raczej błędu jednak się to prawidłowo wykonuje czyli w zasadzie chronione nie jest php7 ps. zdaje sobie sprawę że robienie takich funkcji jak "private function makeRowID" to gruba przesada jednak formatery mogą być czasami bardziej skomplikowane niż te tutaj |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
przecież tam nie przekazujesz metody tylko jej wynik, i nie bardzo rozumiem gdzie Ty widzisz jakiś problem, chyba się trochę pogubiłeś. Nie odwołasz się do tego poza ta klasa ale w jej wnętrzu, wiec błędu nie będzie, bo niby z jakiej racji.
Ten post edytował com 29.04.2017, 16:55:32 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
w klasie ModelDatatable jest dopiero wykonywana funkcja formatera
a zatem i metoda prywatna obcej klasy (IMG:style_emoticons/default/smile.gif) źle kombinuję? Ten post edytował kayman 29.04.2017, 17:10:49 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zrób sobie var_dump($makeRowID); w kalasie bazowej i wywołanej. ZObacz jaki masz wynik.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
nie upieram się przy prywatnej metodzie, na moje powinna być publiczna a prywatna sypać błędem, całość tego można powiedzieć jest w fazie projektu i testowania i przez pomyłkę zrobiłem metodę prywatną (IMG:style_emoticons/default/smile.gif)
var_dump niewiele powiedział w obu przypadkach to samo Kod object(Closure)#6 (2) { ["this"]=> object(Framework\Ajax\Get\Pages)#5 (2) { ["params":"Framework\Ajax\Master\Response":private]=> array(0) { } ["cacheKey":"Framework\Ajax\Master\Response":private]=> NULL } ["parameter"]=> array(1) { ["$d"]=> string(10) "" } } |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Widać nie rozumiesz chyba trochę podstaw, private oznacza, że możesz wewnątrz klasy się do metod/pól odwoływać, ale już poza nią nie, czyli:
To wywołane poza klasa wyrzuci błąd, ale wewnątrz niej nie, bo niby czemu by miało skoro $this wskazuje na Framework\Ajax\Get\Pages. Ten post edytował com 29.04.2017, 19:18:41 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
przyznaję że w tej konstrukcji jak ta moja klasa nie bardzo to rozumiem, w ogóle nie podoba mi się taki sposób pisania tych formaterów, jednak jest potrzeba wstrzyknięcia takich funkcji do konfiguracji wiec tak zostanie dopóki nie wymyśle czegoś innego
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:36 |