2015-09-07 34 views
6

Mam plik index.php, który zawiera różne części strony za pośrednictwem PHP.Która konwencja nazewnictwa jest poprawna dla zawartych plików fragmentów kodu HTML?

Na przykład może to być w < głowy > fragment strony HTML do pliku index.php:

<!doctype html> 
<html> 
    <head> 
     <?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?> 
    </head> 

    <body> 
     ... 
    </body> 
</html> 

Zawartość "head.php" może być coś takiego:

<meta charset="utf-8"> 
<title>Title of page</title> 
<meta name="description" content="Description text..."> 

... 

<link rel="stylesheet" href="stylesheet.css"> 

... 

and so on... 

Technicznie "head.php" nie jest plikiem PHP, ponieważ nie zawiera żadnego kodu PHP. Nie jest to również prawidłowy dokument HTML. To tylko fragment kodu HTML.

Do tej pory zawsze nazywałem te pliki fragmentów kodu HTML * .html lub * .php.

Moje pytanie brzmi, czy to prawda, czy nie?

Czy to jest zalecane, aby nie w ogóle podać rozszerzenia pliku? Zamiast "head.php" po prostu "head"?

Należy pamiętać, że niektóre dyrektywy można ustawić w pliku .htaccess serwera dotyczącym buforowania i wygaśnięcia plików * .html i * .php. Usunięcie rozszerzenia pliku i zmiana jego nazwy z "head.php" na "head" może wykluczyć go z wymienionych dyrektyw w pliku .htaccess.

Podczas poszukiwań znalazłem na to pytanie tutaj na StackOverflow: What extension should I use for files containing fragments of HTML

Ale to pytano 6 lat temu i istnieje tak wiele różnych rozszerzeń plików wymienione tam, trudno powiedzieć, który z nich korzystać.

Czy ktoś może udzielić zaktualizowanej odpowiedzi dotyczącej tego problemu?

+1

Jak sądzisz, jak zmienić tytuł różnych plików? Być może lepiej jest przekazać parametr do funkcji PHP z nazwą. W html ważny jest tytuł. – Braisly

+0

Nie przejmuję się nicią w tym przypadku. Pytam tylko, jak nazwać sam plik. Pytam o rozszerzenie pliku, które powinny mieć te pliki. Czy istnieje konwencja nazewnictwa obejmująca ten problem? – DSC

Odpowiedz

4

Jeśli używasz include, zdecydowanie polecam używanie *.php. include wykonuje kod w nim, nawet jeśli jest to surowy HTML. (w takim przypadku jest to po prostu wyjście bez dalszego przetwarzania).

Dlatego należy użyć *.php dla plików wyjściowych w ten sposób. (Inny może dostać również złe podkreślając w redakcji przy użyciu <?php jeden dzień w nim jakiegoś powodu, także, jeśli ktoś otwiera plik *.html bezpośrednio, będzie zobaczyć kod surowego wtedy)

W przypadku korzystania np readfile(), następnie użyj *.html, aby zaznaczyć, że jest to tylko surowy kod HTML, nic nigdy nie zostanie wykonane.

W zasadzie zależy to od tego, w jaki sposób dołączyć plik.

P.s .: Brak rozszerzenia. Niezbyt zalecane, zwykle to jest to, czego używasz do plików binarnych i katalogów. Zauważ, że rozszerzenia naprawdę po prostu dają ci nadzór nad tym, co się dzieje.

+0

Dzięki, że pomaga zrozumieć problem. – DSC

2

Zostawiłbym jako php. Twój dołącza ten plik do php. Sam plik głowy jest bezużyteczny.

Co się stanie, jeśli dodasz do tego pliku plik php w celu dalszego rozwoju? Dodaj rozszerzenie php nie jest wydajnym cyklem życia.

Więcej importan to miejsce przechowywania tych plików. Umieszczenie ich pod folderem szablonów powie każdemu, że są to szablony.

+0

Dzięki, zazwyczaj umieszczam je w folderze o nazwie "obejmuje". – DSC

+0

Gdzie umieszczasz swoje klasy, pomocników, biblioteki osób trzecich? – Iamzozo

+0

Używam struktury folderów dla różnych modułów i bibliotek, jeśli są obecne. Klasy nie należą do tej kategorii. Są one zdefiniowane w arkuszu stylów. Ale może masz na myśli coś innego, kiedy mówisz "klasy". – DSC