PHP эквивалентен jsp: include - PullRequest
       0

PHP эквивалентен jsp: include

0 голосов
/ 06 августа 2010

PHP имеет include и require_once, которые эквивалентны директиве include JSP (<%@ include ..%>). JSP также имеет jsp: include, который включает в себя только вывод из включенного файла, сохраняя включенный файл в собственном сервлете.*

Я ищу что-то похожее в PHP, чтобы переменные главной страницы и другое содержимое не связывалось с переменными включенных файлов.Один существует?

Ответы [ 4 ]

1 голос
/ 06 августа 2010

Выполнение этого в ООП также должно быть более аккуратным.

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();
1 голос
/ 06 августа 2010

Вы всегда можете выполнить file_get_contents () и вызвать URL-адрес этого сценария PHP на вашем сервере, а затем отобразить результаты. Я хотел бы предупредить вас, что это очень плохо с точки зрения безопасности. Если ваши DNS-записи будут изменены, а что нет, кто-то может по-настоящему возиться с вещами. Лучше всего избежать этой проблемы, используя ООП, как предложил «thephpdeveloper». Вы также можете использовать пространства имен.

1 голос
/ 06 августа 2010

Простое решение состоит в том, чтобы включить файл в функцию, чтобы предотвратить засорение глобальным пространством имен области действия файла.

0 голосов
/ 06 августа 2010

Там Runkit_Sandbox

Создание экземпляра класса Runkit_Sandbox создает новый поток со своей областью действия и программным стеком.Используя набор параметров, передаваемых конструктору, эта среда может быть ограничена подмножеством того, что может делать основной интерпретатор, и предоставлять более безопасную среду для выполнения предоставленного пользователем кода.

Но я никогда не использовал его и поэтому не могу сказать, насколько он надежен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...