我正在尝试使用php的include函数使我的代码更清晰。我在我的三个页面中使用了相同的代码部分,但是这个页面中的一个是我在执行这部分代码时调用的页面。我也可以代替
action="<?=$_SERVER['PHP_SELF']?>"
使用此页面的链接(action =“thispage.php”)?另外为了使用包括代码必须完全相同?我的意思是我的部分代码几乎相同,只是一些小的东西改变了。比如在每个页面中,我都有一个我在所选链接中应用的CSS样式。有没有办法改变包含的代码的一些东西?谢谢!
答案 0 :(得分:1)
当然,你可以。虽然更简单的方法是在表单上使用action=""
。空字符串告诉浏览器将表单提交到您当前所在的页面。
当您包含文件时,它实际上包含在您的代码中,因此它“继承”当前范围内的所有变量。您可以在文件中定义一个变量,然后在另一个文件中的条件内使用该变量来确定它应该做什么。
答案 1 :(得分: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函数在你包含的文件中设置varibles,你可以做同样的事情:
$action = $_SERVER['PHP_SELF'];
include('/path/to/file');
我喜欢这个函数的是它允许你对变量进行范围调整,这样你就不会继续使用全局范围。