MVC kurulum kullanıyorum ve benim görünümleri (. Php) içine javascript enjekte, henüz görünüm erişimi olan tüm değişkenleri javascript erişimine izin vermek için çalışıyorum. Benim nihai hedef benim javascript (örneğin bu yüzden olabilir alert()
, bir ürünün ismi) PHP değişkenleri erişmek mümkün olmaktır.
İşte benim uygulama akışı bulunuyor:
- Çıktı tamponunu başlangıç
- (bu benim görünüm için veri içeren) bir iştiraki dizide ekstresi () çağrı
- view dosyasına ihtiyaç çağrı
- çıktı tamponunun içeriğini döndürür, ve tampon temizleyin
- echo tampon
Aşağıdaki gibi olan bir işlevi injectJS()
, vardır:
function injectJS($jsFile) {
require APP_DIR . $jsFile;
}
İşte ben enjekte etmek istiyorum Javascript (alert.js) bir örnek:
<script type="text/javascript">
alert("product name: <?php echo $product['name']; ?>");
</script>
Yani, benim bakış dosya içinde, ben injectJS('alert.js');
diyoruz. Bu javascript enjekte, ama ben görünümü işlemek zaman tanımlanmamış bir değişken $product
olan bir PHP haber almak. Ben elle require
açıklama yazmak Ancak, her şey çalışıyor. I injectJS()
mümkün kullanarak elde etmek için çalışıyorum nedir?
Edit
I forgot to mention that I did try passing the variables explicitly to injectJS()
, ve it does work, but I don't want to have to always pass the variables. It could become messy & cumbersome if the view needs to pass many variables to the JS. Is there a way I could (within the function) grab the variables within the scope of the script responsible for calling the injectJS()
?
Edit 2
On second thought, passing the variables again is not a real issue, I think I'm just being greedy/lazy ;). I will just pass the variables when needed to injectJS()
. Thanks for the responses