Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przypisanie strony do zmiennej i wyświetlenie jej
Oczko21
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (0%)
-----


Witam,
Chciałbym aby można było wybrać sobie layout strony i korzystać z niego. Wkleje tylko fragment kodu, bo główny problem to nieprawdłowe wyświetlanie.

view.php
  1. class IndexView extends View {
  2. public $layout;
  3.  
  4.  
  5.  
  6.  
  7. public function getLayout()
  8. {
  9. $this->layout = file_get_contents("layout/default/layout.php");
  10. //echo $this->layout;
  11. }
  12.  
  13.  
  14. }


index.php
  1. require_once("view.php");
  2. $view = new IndexView;
  3. $view->getLayout();
  4.  
  5. echo $view->layout;


Problem jaki się pojawia to wyświetlenie strony w trybie Quirks. Nawet jeżeli na samym początku w index.php umieszczę <!DOCTYPE HTML> efekt jest taki sam.

W jaki sposób mogę wyświetlic stronę zgodną z obecnymi standardami w tym podanym przykładzie? Albo inaczej w jaki sposób powinna odbywać się komunikacja z warstwą widoku? Bo jeżeli się nie mylę to w tym przykładzie komunikacja między warstwami wygląda mniej więcej tak:
index->view->layout->index Ale jak widać nie jest to za dobre rozwiązanie, albo coś poknociłem.

Ten post edytował Oczko21 19.05.2012, 15:10:18
Go to the top of the page
+Quote Post
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Cytat(Oczko21 @ 19.05.2012, 16:09:45 ) *
W jaki sposób mogę wyświetlic stronę zgodną z obecnymi standardami w tym podanym przykładzie?

Dodać:
  1. <meta http-equiv="X-UA-Compatible" content="IE=8" />

zaraz po otwarciu tagu HEAD, w pliku layout/default/layout.php.
Artykuły: http://www.kurshtml.edu.pl/css/x_ua_compatible,quirks.html, http://hsivonen.iki.fi/doctype/.
Go to the top of the page
+Quote Post
Oczko21
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (0%)
-----


Nie pomogło.
Strona działa i wygląda poprawnie gdy wejdę bezpośrednio do pliku layout/default/layout.php.
Natomiast gdy wczytam ją do zmiennej wtedy pojawia się wyżej wymieniony problem.
Go to the top of the page
+Quote Post
bostaf
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


A to ciekawe. A mógłbyś porównać źródła z przeglądarki w obu przypadkach? Czy czasem któraś metoda z widoku nie nadpisuje nagłówków HTML z layoutu.
Fakt, że HTML przechodzi przez zmienną nie powinien mieć wpływu na wynik końcowy. Jeśli już coś może mieć wpływ, to zmienność zmiennej (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Oczko21
post
Post #5





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (0%)
-----


Wydaje mi się że wiem co jest tego przyczyną. Otóż jeżeli zaincluduje więcej niż 1 plik, przeglądarka wyświetla się w trybie Quirks, podam przykład bo na tym wyżej tego nie widać.
  1. include_once("view.php");
  2. [b]include_once("drugi_plik.php");[/b]
  3. $view = new IndexView;
  4. $view->getLayout();
  5.  
  6. echo $view->layout;


Nie mam pojęcia dlaczego w momencie gdy dołączę, więcej niż 1 plik strona traci zgodność z najnowszymi standardami. Czy powstała jakaś nowa funkcja którą można dołączać kilka plików?. Gdzie mam szukać informacji o tym problemie?
Go to the top of the page
+Quote Post
bostaf
post
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Cytat(Oczko21 @ 21.05.2012, 16:31:23 ) *
Gdzie mam szukać informacji o tym problemie?

O jeden post wyżej. Nie zgaduj. Sprawdzaj. Debugowanie polega na oglądaniu wyniku i czytaniu kodu a nie wróżeniu z fusów.

Porównałeś źródło strony w obu przypadkach? Zwłaszcza cały HEAD i to co przed nim (deklarację typu)? Są takie same czy inne?

Nie mówię, że nie masz racji z tym drugim includem ale zanim sprawdzisz przyczyny to sprawdź symptomy. Może być tak, że drugi includ nadpisuje zmienne z pierwszego. Już wiesz, że bezpośrednie wyświetlenie jest OK a przez metodę klasy jest niedobrze. Sprawdź różnice a łatwiej ustalisz przyczynę.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 16:52