Bu benim şu anda bunu yapıyorum yoludur.
<?php
//show footer
echo "<script type='text/javascript'>\n";
echo "alert('Congrats');\n";
echo "</script>";
?>
Sadece echo daha iyi bir yolu var mı?
Ben sadece PHP kodu PHP dosyalarını ayırma ve ayrı şablon dosyalarında önuç kod (HTML / CSS / javascript) tutmanızı öneririz.
Ben sunum katmanı ve karıştırma, Son kontrol aynı dosya içine arka uç kod yaklaşık 12 yıl önce popüler oldu.
Bir proje için dosya hiyerarşi bu gibi görünebilir:
- my_project
- lib
- PHP files here
- templates
- HTML templates here
- public <- this is your document root for web server
- index.php <- just a dispatcher
- js
- images
- css
Heredoc kullanın, ya da "html" moduna PHP modundan çıkmak. Javascript tamamen statik veya dahil bazı PHP değeri (php üzerinden '>') html moduna açılan gereken bir kaç parça varsa. Bu herhangi bir iyi bir metin editörü uygun olarak HTML ve Javascript ve sözdizimi vurgulamak yaptığınızı fark sağlayacaktır. Aşağıdaki tüm eşdeğerdir, ancak daha okunabilir olduğu kendiniz karar verin:
'Saf php':
<?php
echo '<script>';
echo ' var x = [' . $somePHPvar . '];';
echo ' alert(x);';
echo '<script>';
?>
'Heredoc' sözdizimi:
<?php
echo <<<EOF
<script>
var x = [{$somePHPvar}];
alert(x);
</script>
EOF;
?>
'Html modu':
<?php ?>
<script>
var x = [<?php echo $somePHPVar ?>];
alert(x);
</script>
her biri için artı / eksileri:
' ve ") kaçmak zorunda değil parası kazanmak. En editörler PHP heredoc bloğunda vars tanımak ve bunları uygun renk, ama metnin geri kalanı metin olarak kabul edilecek, böylece javascript / html aynı bakacağız. Ayrıca, metnin içine fonksiyon çağrıları ekleyemezsiniz. Sen yorumlu metin başlamadan ÖNCE olanları yapmak ve eklenebilir bir var, sonuçları saklamak zorunda. Yorumlu metin de doğrudan bir değişken içine uzun metin blokları atamak için kullanmak olabilir.htmlspecialchars(), urlecncode(), html_strip_tags(), etc...) without having to store the values in an intermediate var. It also makes for harder-to-maintain code as your PHP is now sprinkled randomly throughough the html/javascript code.Bu, tüm üzerinde çalışıyoruz özel bir kod için en kolay olanı aşağı kaynar.