假設我正在使用MVC框架,和我的意見要求位於外部視圖中的文件JavaScript文件。但是,位於外部文件中的JavaScript依賴於我的視圖中的一些PHP變量。如果我將Javascript包含在HTML視圖中的標籤中,我可以簡單地將PHP變量注入到Javascript中。使用PHP變量包括視圖文件在MVC
我知道我可以創建隱藏的輸入字段,並指定我需要因爲它們的值的變量。還有另一種更優雅的方式嗎?
我知道我也許可以逃脫命名.js文件轉換爲.php,但我不太喜歡這樣做的。
假設我正在使用MVC框架,和我的意見要求位於外部視圖中的文件JavaScript文件。但是,位於外部文件中的JavaScript依賴於我的視圖中的一些PHP變量。如果我將Javascript包含在HTML視圖中的標籤中,我可以簡單地將PHP變量注入到Javascript中。使用PHP變量包括視圖文件在MVC
我知道我可以創建隱藏的輸入字段,並指定我需要因爲它們的值的變量。還有另一種更優雅的方式嗎?
我知道我也許可以逃脫命名.js文件轉換爲.php,但我不太喜歡這樣做的。
我不知道我完全理解你的問題,但如果我有主旨正確,不能你剛纔設置視圖中的腳本標籤中的全局JavaScript變量,將被傳遞到外部JS?
<script type="text/javascript">
var myvar1 = <?=$myvar1 ?>;
var myvar2 = "<?=$myvar2 ?>";
</script>
<script type="text/javascript" src="myexternaljs.js"></script>
你可以做從JS服務器(例如REST)的調用,讓你依靠的變量。你將不得不爲此創建一個服務,但結構將保持乾淨。
您可以發佈到網頁上,你有其他腳本之前,或使用這樣的事情,包括PHP文件就像一個js文件:
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;
您可以添加標題,以提供高速緩存與etag(散列/ ID),最後修改或過期/雜注。