JavaScript kullanarak PHP değişkenleri MVC görünüm için dosyaları içerir

3 Cevap php

MVC framework kullanıyorum ve benim görüşlerim görünümüne harici bir dosyada yer alan JavaScript dosyaları gerektirir herhalde. Dış dosyasında yer benim javascript benim görüşüme göre bir kaç PHP değişkenlere bağlı, ancak bağlıdır. Ben HTML görünümü içindeki etiketi Javascript dahil olsaydı, ben sadece JavaScript içine PHP değişkenleri enjekte edebilir.

Ben gizli bir giriş alanları oluşturmak ve onların değerleri olarak gereken değişkenleri atayabilirsiniz biliyorum. Başka, daha zarif bir yolu var mı?

Ben muhtemelen. Php için. Js dosyasını adlandırma ile alabilir biliyorum, ama ben bunu yaparken çok düşkün değilim.

3 Cevap

Ben tamamen sorunuzu anlamak emin değilim, ama yüreğin hakkı varsa, sadece o zaman harici js geçmiş olacaktır görünümünde bir komut dosyası etiketi içinde global javascript değişkenleri, set değil mi?

<script type="text/javascript">
  var myvar1 = <?=$myvar1 ?>;
  var myvar2 = "<?=$myvar2 ?>";
</script>
<script type="text/javascript" src="myexternaljs.js"></script>

Size bağlı değişkenleri almak için sunucuya JS bir çağrı (örn. DİNLENME) yapabilir. Bunun için bir hizmet oluşturmak için olurdu ama yapısı temiz kalacaktır.

Ya diğer komut dosyalarını içerir önce sayfasında yayınlayacağız, ya da bunun gibi bir şey kullanmak ve bir js dosyası gibi php dosyası ekleyebilirsiniz:

ob_start();
//all variables here
echo 'var someJson = '
    . json_enode($someArray);
$content = ob_get_clean();

header('Content-Type: text/javascript');
header('Content-Length: ' . strlen($content)); //or mb_strlen with utf8
echo $content;
exit;

Sen son değişiklik, etag (karma / id) ile önbelleğe alınmasını sağlamak için başlıklarını eklemek veya / Pragma iptal edebilir.