我正在研究一个有很多JavaScript的项目。我认为生成简单字符串并将它们放在“<脚本>”标记之间并不是实现它的最佳方式。PHP - 生成JavaScript
是否有更好的方法来生成JavaScript对象,函数,调用等?也许有些融合类(从PHP到JavaScript)或者我应该遵循的设计模式?
PS。如果它有任何相关性 - 我使用MooTools与MochaUI(与MochaPHPControl)。
在此先感谢您的帮助。
我正在研究一个有很多JavaScript的项目。我认为生成简单字符串并将它们放在“<脚本>”标记之间并不是实现它的最佳方式。PHP - 生成JavaScript
是否有更好的方法来生成JavaScript对象,函数,调用等?也许有些融合类(从PHP到JavaScript)或者我应该遵循的设计模式?
PS。如果它有任何相关性 - 我使用MooTools与MochaUI(与MochaPHPControl)。
在此先感谢您的帮助。
最好的方法是将JavaScript看作PHP代码。
的基本步骤是:
require "script/$file"
)例如,添加到您的.htaccess这一行:
RewriteRule \.js$ index.php
在您的index.php文件装上去像这样:
// Process special JS files
$requested = empty($_SERVER['REQUEST_URI']) ? "" : $_SERVER['REQUEST_URI'];
$filename = get_filename($requested);
if (file_ends_with($requested, '.js')) {
require("www/script/$filename.php");
exit;
}
最后,在您的文件。 js.php你可以嵌入PHP,使用GET和POST参数等:
<?php header("Content-type: application/x-javascript"); ?>
var url = "<?php echo $url ?>";
var params = "<?php echo $params ?>";
function xxxx()....
....
此外,一招跳过文件缓存添加一个随机数作为JavaScript参数:
<script type="text/javascript" src="scripts/file.js?a=<?php echo rand() ?>"></script>
而且,说评论,如果你的网络服务器不允许修改.htaccess
,你可以只要求直接的PHP文件:
<script type="text/javascript" src="file.php"></script>
您可能想要查看json_encode
和json_decode
。
我试图让我的服务器做一个API调用并将它嵌入在HTML的有JavaScript的过程中它不管你的回声当然要放的..
<?php
// a_local_file.php
Header("content-type: application/x-javascript");
echo file_get_contents('http://some_remote_script');
?>
并用它来指代它在HTML ...
<script type="text/javascript" src="a_local_file.php"></script>
API调用应该返回有效的JavaScript,否则加你需要使它有效的东西;这通常是使用API调用json的麻烦部分。条纹,修剪和其他字符串函数可能是有用的..但通常讨厌的外国字符渗透,并可以引发基于您的PHP设置的PHP错误。
代码生成是邪恶的。使用JSONP/Ajax进行数据传输并创建静态.js文件来处理数据。 – BGerrissen 2011-03-01 08:44:44
为什么邪恶?有什么问题? – Ivan 2011-03-01 09:48:46
+1为邪恶的问题......你可以exaplain为什么它是邪恶的? – Cleankod 2011-03-03 08:44:02