0

我正在尝试使用 php 的 include 函数使我的代码更清晰。我在我的三个页面中使用相同部分的代码,但其中一个页面与我在执行这部分代码时调用的页面相同。所以我可以代替

action="<?=$_SERVER['PHP_SELF']?>"

使用此页面的链接(action="thispage.php")?另外为了使用包含代码必须完全相同?我的意思是我的部分代码几乎相同,只是一些小事情发生了变化。例如,在每个页面中,我都有一个在所选链接中应用的 CSS 样式。有什么办法可以更改包含的代码的某些内容吗?谢谢!

4

2 回答 2

1

当然,你可以。虽然更简单的方法是action=""在表单上使用。空字符串告诉浏览器将表单提交到您当前所在的页面。

当您包含一个文件时,它实际上包含在您的代码中,因此它“继承”了当前范围内的所有变量。您可以在文件中定义一个变量,然后在另一个文件的条件中使用该变量来确定它应该做什么。

于 2012-04-09T17:35:36.607 回答
0

好吧,您可以创建一个可以将许多参数传递给的函数:

function include_partial($path, $options = array()) {
    extract($options); // import array keys as local variables
    include($file);
}

// usage
include_partial('/path/to/file', array('action' => $_SERVER['PHP_SELF']);

当然,您可以在没有函数 jsut 的情况下做同样的事情,在您包含的文件中设置变量:

$action = $_SERVER['PHP_SELF'];
include('/path/to/file');

我喜欢这个函数的地方是它允许你定义变量的范围,这样你就不会不断地使用全局范围。

于 2012-04-09T17:35:06.280 回答