2010-11-07 10 views
6

Do tej pory mam około 3 PHP zawiera na mojej stronie.Czy można umieścić dużo PHP w witrynie?

<?php include("includes/header.html"); ?> 

Czy jest jakikolwiek powód, dla którego nie powinienem dodawać ich ton?

+2

Czy potrafisz zdefiniować "tonę"? –

+0

może pięć do dziesięciu? – omnix

+0

więcej obejmuje zwykle oznacza więcej plików do śledzenia ... jeśli zrobisz to w logiczny sposób to zadziała ... – Scott

Odpowiedz

8

Niezupełnie. Są używane dość często i obficie, choć częściej niż inne, do dołączania innych plików PHP. Te pliki PHP często zawierają też inne, więc naprawdę nie ma problemu.

Nawiasem mówiąc, jeśli nie korzystają z tej techniki, aby dołączyć inne pliki PHP (np pliki biblioteki z funkcjami jesteś korzystających), że to dobry pomysł, aby użyć require_once (tam również include_once, jak również zwykły require); require spowoduje błąd, jeśli nie można znaleźć jego argumentu, i nie będzie kontynuować próby renderowania strony. require_once (i include_once) nie będą zawierać tego samego pliku więcej niż raz, nawet jeśli zadzwonisz pod numer require_once (lub include_once) z różnych miejsc.

+0

OK dziękuję! – omnix

1

Jest jedna korzyść z pisania kodu zorientowanego obiektowo i aktualizacji do PHP 5: można uniknąć "tona elementów" za pomocą class autoloading.

6

Podejrzewam, że robisz coś takiego:

<?php 
    include("session_and_headers.php"); 
    include("top_nav.html") 
    include("right_sidebar.html"); 
?> 

... actual content generation code ... 

<?php 
    include("footer.html"); 
    include("js_loader.php"); 
?> 

Nie ma nic złego z tym do prostych statycznych stron, czyli sytuacji, w której użytkownicy będą mieli tylko kilka odrębnych poglądów.

Ale co się stanie, jeśli chcesz użyć nieco innego paska bocznego tylko na niektórych typach stron? Gdzie umieścisz logikę, aby to ustalić, więc jest oczywiste dla następnej osoby, która dziedziczy Twój kod?

Jeśli natkniesz się na tego rodzaju komplikacje, polecam iść z podejściem MVC (nawet jeśli w większości korzystasz z jego aspektów widoku/kontrolera).

Jeśli robisz stronę nn strony w PHP, która po prostu musi dzielić wspólne elementy, to nie ma powodu, aby unikać po prostu włączania plików w razie potrzeby.

Nie patrz na to tak bardzo jak jest złe dla PHP, spojrzeć na to bardziej jak jest to trudne do utrzymania?

+0

Używam tego tylko dlatego, że nie chcę kopiować całego tego samego kodu HTML na każdej stronie. – omnix

+0

@omnix - powinieneś być w porządku. –

0

Jedynym minusem jest wydajność - każda zawiera koszty połączeń systemowych. Przy 3 lub 10 jest to mała zmiana, chyba że ruch jest ogromny, ale około 100 może być problemem. Rozwiązaniem jest użycie bufora kodu bajtowego (jak apc) i ustawienie zmiennej realpath_cache_size na wyższą wartość (domyślnie wystarcza na około 100-200 plików, w zależności od długości ścieżki). Poza tym - nie stanowi większego problemu.

Powiązane problemy