gpt4 book ai didi

php - 使用 zend 框架在文档根目录之外包含一个 javascript 文件

转载 作者:行者123 更新时间:2023-11-29 16:27:18 24 4
gpt4 key购买 nike

我正在尝试使用 zend 框架将 javascript 文件包含在 phmtl View 脚本文件中。 javascript 文件和 phtml 文件都是 php 库的一部分,位于我的项目的 doc 根文件夹之外。所以文件结构看起来像

/var/www/vhosts/project/
/var/www/vhosts/libraries/my-lib/view/viewscript.phtml
/var/www/vhosts/libraries/my-lib/js/javascript.js

/var/www/vhosts/libraries/my-lib 已使用 set_include_path 添加到 PHP 路径。在 viewscript.phtml 中,我使用以下行包含 javascript.js。

<?php $this->headScript()->appendFile('js/javascript.js'); ?>

由于某种原因,即使我指定绝对路径而不是相对路径,也不包含 javascript.js。相反,我在标题部分的标签内获得了网页的完整副本。如果我将 javascript.js 放入文档根文件夹/var/www/vhosts/project 并更改appendFile() 路径,它就可以正常工作。如何在文档根目录之外包含 javascript?

最佳答案

根据您之前提出的问题,我认为您的目录对您来说有问题。这是 Zend Framework 的功能性且安全的示例或目录组织(部分)

var/
www/
vhosts/
otherproject/
project/
src/ <-- maybe some project src can be here and not in your libraries
htdocs/ <--- real apache document root
css/
js/
var/
log/
sessions/
etc/
doc/
libraries/
Zend/
my-lib/
js/

所以 apache documentRoot/var/www/project/htdocs。在这里我们可以找到index.php 文件,这是唯一可供公共(public)访问的php 文件。

在 htdocs/js 和 htdocs/css 中,您可以放置​​一些项目的 js 和 css 文件。然后你就会遇到外部 php 库的 css 和 js 文件的问题,这些文件现在完全位于 Web 根目录之外。

我通常做的是,就像其他人在这里所说的那样,从外部目录链接到Web根目录内的js目录。但更准确地说,让这里的事情井井有条,你应该在那里做什么:

 ln -s /var/www/project/libraries/my-lib/js /var/www/project/htdocs/js/my-lib
ln -s /var/www/project/libraries/my-lib/css /var/www/project/htdocs/css/my-lib

您应该对所有具有应位于文档根目录中的文件的外部库执行此操作。这样 my-lib 的 js 文件的基本 url 就是/js/my-lib/。

不要害怕使用符号链接(symbolic link)(Windows 上的连接),您甚至可以将它们存储在 subversion 存储库中。只需检查您的 apache 配置是否允许符号链接(symbolic link)(选项 +FollowSymlinks)

关于php - 使用 zend 框架在文档根目录之外包含一个 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4658974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com