PHP相当于jsp:include

时间:2010-08-06 16:17:27

标签: php include

PHP包含include和require_once,它们等同于JSP的include指令(<%@ include ..%>) JSP还有一个jsp:include,它只包含所包含文件的输出,将包含的文件保存在自己的servlet中。

我在PHP中寻找类似的东西,因此主页的变量和其他内容不会与包含文件的内容混淆。 是否存在?

4 个答案:

答案 0 :(得分:1)

一个简单的解决方案是将文件包含在函数中,以防止文件的范围乱丢全局命名空间。

function jsp_include($file) {
    include($file);
}

答案 1 :(得分:1)

以OOP方式进行此操作也应该以更整洁的方式完成。

servlet.php

class Servlet{

  private $servletVar1 = "Some string";
  private $servletVar2 = 2150;

  public function html(){
     echo "<p>Hello World!</p>";
  }

}

main.php

include("servlet.php");

class MainPage{

   private $title = "Page Title";

   public function html(){
       echo "<!DOCTYPE html>";
       echo "<html>";
       echo "<head>";
       echo "<title>".$this->title."</title>";
       echo "<head>";
       echo "<body>";
       $servlet = new Servlet();
       $servlet->html();
       echo "</body>";
       echo "</html>";
   }

}


$page = new MainPage();
$page->html();

答案 2 :(得分:1)

您可以随时执行file_get_contents()并在服务器上调用该PHP脚本的URL,然后回显结果。我会提醒你,尽管从安全的角度来看这是非常糟糕的。如果您的DNS记录发生了变化,那么有人可能真的搞乱了。最好通过使用OOP作为“thephpdeveloper”建议来完全避免这个问题。您也可以使用名称空间。

答案 3 :(得分:0)

Runkit_Sandbox

实例化Runkit_Sandbox类会创建一个具有自己的作用域和程序堆栈的新线程。使用传递给构造函数的一组选项,此环境可能被限制为主解释器可以执行的操作的子集,并为执行用户提供的代码提供更安全的环境。

但我从未使用它,因此不能说它有多可靠。