PHP fonksiyonları da dahil olmak üzere

2 Cevap php

Ben başlığının metin gibi şeyleri değiştirmek için argümanları ile standart sayfa başlığını yazmak gibi şeyler yapmak işlevleri saklayan bir sınıf kullanmak için, büyük biraz kötü yazılmış (ama korkunç değil yani), PHP web sitesi üzerinde değişen üzerinde çalışıyorum. Eski versiyonu gibi bir şey ile her dosya bir kopyalanıp yapıştırılan HTML başlığını kullandı:

<div class="left"><?php include("left.php"); ?></div>

Dahil dosyası olmayan yankılandı HTML ve normal PHP hem de nerede. Bu kullanmaya devam etmek ok görünüyor içerir, ama benim bilgi olarak, dosyalar sadece doğrudan () yöntemini içerir yerine dahil, sadece onlar çalışacağız nasıl emin değilim.

Would it be better to:
-Re-write the included files to echo all standard HTML
-Simply move the content of these files into my new function where appropriate (to my knowledge, they're not used anywhere except where they would be in my new function)
-Something else

Teşekkürler.

2 Cevap

Oku http://php.net/include:

Çağıran dosyanın içinde bir işlev içinde meydana eklerseniz bu işlev içinde tanımlanmış sanki, o denilen dosyasında bulunan tüm kod davranacaktır. Yani, o fonksiyonun değişken kapsamını takip edecek. Bu kuralın bir istisnası oluşur dahil edilmeden önce çözümleyici tarafından değerlendirilir sihirli sabitler vardır.

Bir dosya dahil edildiğinde, ayrıştırma hedef dosyanın başında PHP kipine ve HTML moduna düşer ve sonunda yine devam eder. Bu nedenle, PHP kodu olarak yürütülmelidir hedef dosyanın içindeki kod geçerli PHP başlangıç ​​ve bitiş etiketleri içine alınmalıdır.

PHP sadece kopyalamak ve C / C + + yaptığı gibi, include ifadesi yerine dahil dosyadan kod yapıştırın değildir. Yani <?php ve de dahil olmak üzere dosya karışıklık dahil dosyasındaki ?> etiketleri hakkında endişelenmenize gerek yok.

Aslında değişkenleri gibi bir şey ayrıştırma değilse tüm HTML yankı için PHP yazma biraz verimsiz daha fazladır. O dedi, ben bunu kendim yapma alışkanlığı sallamak gibi olamaz. :)

İyi tasarlanmış bir sayfa sadece gerektiğinde PHP kullanacak ve ben dahil olmak üzere, mevcut yöntem muhtemelen siteniz için en iyi yöntem olduğunu düşünüyorum.

Sitenizin çoğunluğu aniden dinamik olarak oluşturulan olursa bu soruyu değer yeniden olabilir.