CakePHP:包含脚本函数的PHP文件

时间:2012-08-20 15:49:30

标签: cakephp-2.1

我有一个名为script.php的文件,这是一些php和一些混合在一起的javascript。这个文件的mime类型被强制为javascript,所以这是一个普通的javascript文件,但扩展名为php。

我试着通过脚本功能在我的布局中插入它。如果写:

echo $this->Html->script('rsravenna/script.php'); 

cakephp会尝试插入script.php.js,如何避免附加.js?

2 个答案:

答案 0 :(得分:1)

hardcoded函数中,.js的追加是HtmlHelper->script()。您的应用中是否有任何内容可以阻止您手动包含脚本?

<script type="text/javascript" src="myscript.php"></script>

否则,您可以扩展HtmlHelper以将变量ext作为options数组的一部分传递给HtmlHelper->assetUrl

您也可以反过来这样做,告诉您的服务器将特定文件夹中的.js文件解析为php以保留扩展名。如果您使用的是apache,请将其放在.htaccess

AddType application/x-httpd-php .js

现在你应该可以将你的myscript.php重命名为myscript.js并仍然可以解析它。这将使您能够使用标准script() - 函数。

答案 1 :(得分:0)

我真的不清楚你要做什么。 script是一个HTML Helper,用于包含javascript而不是PHP。

您可以执行以下操作:

echo $this->Html->url('/rsravenna/script.php', true);

echo $this->Html->url(array(
    "controller" => "foo",
    "action" => "bar",
    "ext" => "php"
));

为什么要将MIME类型强制为.js?