1

这是一个普遍的问题。每次移动文件或将文件移动到不同目录时,您采用了哪些技术来防止 PHP 代码中的链接中断?

4

3 回答 3

1

如果您移动/重命名在整个网页中链接的文件并希望确保链接仍然有效,我会编写一个 303 重定向(位置和方式取决于您的 Web 服务器及其配置)。

于 2010-03-23T07:43:30.257 回答
1

我使用了一个配置文件,其中定义了所有路径(using define())到各种目录,如“webroot”、“应用程序”或“css”

这样,我只需要更改一个文件中的一行,并且更改会在使用此变量的所有文件中受到影响。

于 2010-03-23T07:44:23.237 回答
1

对于前端的东西,始终使用绝对 URL(以“/”开头,以便您可以根据需要从一个域移动到另一个域)。

对于内部include()/require()类型的东西,按照 Gaurav 的建议进行操作,并使用一个配置文件来创建一个常量来表示您的路径(因此您可以根据需要从代码中的一个位置轻松更改它)。

对于您想要重用的库类型的东西(即类、函数等),我会include_path通过 php.ini(全局或本地)、.htaccess(如果您使用的是 apache)或通过ini_set()函数将其添加到。这样您就可以仅通过文件名(即<?php include_once('library.php'); ?>)包含这些文件

如果您使用 ini_set 路线,请查看 auto_append 指令(该指令又可以通过 php.ini、.htaccess 或 ini_set 设置)...这样您就可以将“引导”文件添加到每个页面请求中只为那个应用程序设置你的 include_path,而不必在你转向的每个地方都添加 ini_set 语句。

综上所述,我建议您:

  • 提前考虑你的应用程序布局,制定一个共同的约定,并坚持下去。
  • 考虑学习设计模式(MVC 等),这将使您以新的方式思考如何设计应用程序
  • 采用应用程序框架(CakePHP、Zend 框架等),该框架将附带建议的(或强制的)文件/目录布局,让您不必管理文件位置和内容。

祝你好运!

于 2010-03-23T08:03:48.427 回答