Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wyświetlanie komunikatów, jw
miras
post 6.10.2016, 09:01:19
Post #1





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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.


  1. public function showStatement($statement) {
  2. return ($statement);
  3. }
  4.  
  5.  
  6. public function przykladowa($parametr) {
  7. if ($parametr == 2) {
  8. $this->showStatement("komunikat");
  9. }
  10.  
  11. }
  12.  
  13.  




  1.  
  2. { -> To jest index.php
  3.  
  4. W tym miejscu chciałbym wyświetlać komunikat.
  5.  
  6. {
  7. -> Tu wywołuję przykladowa(2);
  8. }
  9.  
  10.  
  11. }
  12.  
  13.  
  14.  
  15.  




Ma ktoś jakiś fajny pomysł?



--------------------
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 09:12:09
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.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
miras
post 6.10.2016, 09:49:49
Post #3





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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?


--------------------
Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 10:04:37
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.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
miras
post 6.10.2016, 10:21:26
Post #5





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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ę)


  1. { -> To jest index.php
  2.  
  3. W tym miejscu wywołuję showStatement i działa dopiero po odświeżeniu strony
  4.  
  5. {
  6. -> Tu wywołuję przykladowa(2);
  7. }
  8.  
  9. natomiast jeżeli wywołam showStatement w tym miejscu to już jest wszystko ok, bo tak naprawdę tworzę tą sesje gdzieś tam w środku tych "includowanych plików", to jest logiczne, że zadziała to tak, a nie inaczej, ma ktoś pomysł jak temu zaradzić?
  10.  
  11.  
  12. }
  13.  


--------------------
Go to the top of the page
+Quote Post
nospor
post 6.10.2016, 10:24:35
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

Go to the top of the page
+Quote Post
miras
post 6.10.2016, 10:30:48
Post #7





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


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?


--------------------
Go to the top of the page
+Quote Post
nospor
post 6.10.2016, 10:33:38
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

Go to the top of the page
+Quote Post
miras
post 6.10.2016, 10:37:58
Post #9





Grupa: Zarejestrowani
Postów: 1 004
Pomógł: 9
Dołączył: 18.01.2011
Skąd: Siedlce

Ostrzeżenie: (30%)
XX---


Dzięki smile.gif


--------------------
Go to the top of the page
+Quote Post
nospor
post 6.10.2016, 10:44:49
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

Go to the top of the page
+Quote Post
emstawicki
post 6.10.2016, 11:00:54
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.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 3.07.2025 - 10:13