![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Witam, piszę sobie mały skrypcik obiektowo w PHP i napotkałem pewien problem.
A mianowicie mam pewien plik index.php do którego są includowane pozostałe pliki - zależnie od tego, co podamy w gecie. i chciałbym sobie napisać jakąś metodę wyświetlającą przekazane do niej komunikaty - czyli np.
Ma ktoś jakiś fajny pomysł? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 40 Dołączył: 2.06.2016 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Skonstruuj porsty mechanizm oparty np. o sesje (coś a'la flashdata), które będzie gromadziło wiadomości do wyświetlania a po wyświetleniu czyściło tablicę wiadomości.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Czyli po prostu w metodzie showStatement będę tworzył sesje z komunikatem, zrobię sobie kolejną metodę do wyświetlania komunikatu i np. przekażę zawartosc sesji do zmiennej, usunę tą sesje i zmienną z komunikatem zwrócę, dobre rozwiązanie?
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 40 Dołączył: 2.06.2016 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Utwórz najlepiej to jako osobną klasę.
Stwórz sesję, która będzie tablicą komunikatów (treść, opcjonalnie typ). W klasie metody do dodawania, zwracania. W konstruktorze czyść zawsze tablicę zapisaną w sesji (chyba że chcesz uwzględnić regenerowanie komunikatu). Dodatkowo proponuję serializować dane podczas dodawania i formatować je dopiero podczas wyświetlania widoku komunikatu. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Ok, jest to jakieś rozwiązanie, napisałem to na szybko i jest pewien problem.
ja chciałbym wyświetlać ten komunikat nad tym "includem" (wiem, że mogę to zrobić w css, ale nie chcę)
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Masz zle zaprojektowana aplikacje. Wypadaloby to poprawic poki to jeszcze jest na etapie rozwoju.
Najpierw logika aplikacji, dopiero potem wyswietlanie. Teraz mieszasz jedno z drugim. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Nie korzystam z żadnego fw ani nic w tym stylu, mam kilka metod, mam plik index.php, w którym jak już pisałem includuję pliki w zależności od tego, co podam w gecie i w tych plikach odpalam te metody, a w tych metodach dopiero tworzę komunikaty, w jaki sposób mógłbym to naprawić nie zaczynając tego od nowa ? :/
Jak tak teraz sobie myślę, będę musiał te includowane pliki rozbić na 2 - widok i logika, bo chyba nie będzie innej opcji? -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Tak, by robic to poprawnie nie musisz uzywac zadnego FW jak nie chcesz.
Tak, musisz wpiero robic logike, potem wyswietlanie. Wpierw includujesz plik od logiki danej akcji, potem plik od widoku danej akcji. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 004 Pomógł: 9 Dołączył: 18.01.2011 Skąd: Siedlce Ostrzeżenie: (30%) ![]() ![]() |
Dzięki
![]() -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kiedys splodzilem klase do widokow. Razem z klasa podalem przyglad malej aplikacji, w ktorej masz ladnie rozdzielona logike od widoku. Jak chcesz mozesz sobie przejrzec.
http://nospor.pl/klasa-widoku.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 40 Dołączył: 2.06.2016 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie jak @nospor nakreślił. Może w PHP długo szukać rozwiązania będącym całkowicie zgodne ze wzorcem MVC, ale poczytaj o nim i chociaż zobacz jak jakieś frameworki działają (nawet te proste). Wtedy Twoja nowa klasa do obsługi komunikatów będzie składową częścią rdzenia całej Twojej aplikacji.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.07.2025 - 10:13 |