2010-04-18 10 views
7

W większości przypadków, gdy chcę wyświetlić jakiś kod HTML do rzeczywistego renderowania, użyłbym tagu "close PHP", napisz HTML , następnie ponownie otwórz PHP. np"echo" lub rezygnacja z "programowania" pisz HTML, następnie ponownie uruchom PHP code

<?php 
// some php code 
?> 
<p>HTML that I want displayed</p> 
<?php 
// more php code 
?> 

Ale widziałem wielu ludzi, którzy po prostu użyć echo zamiast, tak by zrobili powyższy coś podobnego

<?php 
// some php code 
echo("<p>HTML that I want displayed</p>"); 
// more php code 
?> 

Czy ich każdy hit wydajność na wychodzenie i powrót w jak że? Nie zakładam, że silnik PHP będzie musiał przetwarzać cały plik w obu kierunkach.

co podczas korzystania z echa funkcję w taki sposób, że dawka nie wyglądać funkcji, np

echo "<p>HTML that I want displayed</p>" 

Mam nadzieję, że jest to wyłącznie kwestia gustu, ale chciałbym wiedzieć, czy Tęskniłem za czymś. Osobiście uważam, że pierwsza droga jest lepsza (rezygnacja z PHP), ponieważ pomaga to w wyraźnym rozróżnieniu między PHP i HTML, a także umożliwia korzystanie z podświetlania kodu i podpowiedzi dla kodu HTML, który jest zawsze przydatny.

Odpowiedz

6

Pierwszy typ jest lepszy, właśnie z powodów, o których wspomniałeś.

Właściwie, powtarzanie całych fragmentów html jest uważane za złą praktykę.

+0

Dobrze jest wypowiadać HTML, o ile jest naprawdę krótki, jak prosty link lub tak ... – selfawaresoup

+0

Wyrzucenie prostego linku oznaczałoby, że musisz radzić sobie z "" escaping. Echo "' . $caption . '"; "dla ograniczników, musisz uciec zamiast atrybutów zamiast zmiennych. Jest brzydki. –

+0

Używam echa do kodowania wbudowanego (). Jeśli chcesz utworzyć większe dynamiczne witryny, użyj pierwszej opcji – Neale

1

Nie, nie ma wzrostu wydajności, który byłby widoczny.

Czasami po prostu łatwiej jest wyprowadzać zawartość za pomocą echa (na przykład w środku lub w pętli), niż zamknąć znacznik php.

0

Myślę, że istnieje preprocesor, który konwertuje tę samą formę na drugą. Tak dzieje się w ASP.NET. Zarówno w środowisku ASP.NET, jak i klasycznej ASP pętle mogą rozciągać się w regionach surowego kodu HTML.

+0

co masz na myśli? Jest to tylko "przetwarzanie" w PHP ... może być możliwe uruchomienie narzędzia i zoptymalizowanie miejsca, ale jest ono interpretowane za każdym razem. – thecoshman

+0

Aby uzyskać jakąkolwiek przyzwoitą wydajność, całość zostanie przetworzona w abstrakcyjne drzewo składniowe. Interpretowanie tekstu bezpośrednio jest żałośnie powolne. Dla wielu z tych systemów szablonów drzewo analizy dla obu form jest takie samo (węzeł reprezentujący literał łańcuchowy i polecenie wyjściowe). –

0

Nie ma żadnych różnic w wydajności.

Tylko styl, który tworzy najbardziej czytelny kod. W zależności od rzeczywistej sytuacji, która może być jedną z dwóch.

Jednak w miarę możliwości należy unikać mieszania kodu HTML i PHP. Można to osiągnąć za pomocą systemu szablonów dla swoich poglądów.

+2

PHP to system szablonów. –

+0

Dokładnie, nie trzeba zaimplementować kolejnej warstwy na szablonie. –