我会尽我所能清楚地表达我的问题,但如果有什么模糊不清的话,请跟我说。
我正在开发一些PHP Web项目。他们都共享一些共同的代码 - 为简洁起见,我们称之为“框架”。所以我得出的结论是,最好将框架移出项目目录。换句话说,这就是我现在所拥有的:
www
|--framework
|--project1
|--project2
|--project3
只要我只需要包含PHP脚本,这就可以工作。事实上,require
和include
等函数使用文件的物理地址,可以使用require_once("../framework/file.php")
轻松指向框架。
但是,在框架目录中还有一些资源:Javascript文件,一些功能性CSS等等。例如,假设jQuery的文件在框架dir中; 我将如何加入? <script src="../framework/jquery.min.js"></script>
不起作用,因为http://example.com/../framework/jquery.min.js
之类的网址被视为无效。
我想到的一个不那么酷的解决方法是使用mod_rewrite将framework
URL的所有请求重定向到“框架包含脚本”,这是一个特殊的PHP脚本,可以捕获正确的文件并返回其内容。它可以工作,但对我来说这似乎是一个丑陋的解决方案。
答案 0 :(得分:2)
我通过使用符号链接来定期执行此操作:
ln -s ../framework/ .
<?php symlink('../framework', './framework'); ?>
。修改强>
然后您将使用<script src="framework/jquery.min.js"></script>
respe。 <?php include 'framework/something.php'; ?>
包含框架脚本。