如何正确地将内容从本地页面传递到php中的包含页面

时间:2017-09-02 21:57:26

标签: php

includepage.php

<?php 
$variable = 'Content';
include 'includepage.php';
?>

localpage.php

{{1}}

如何正确地让本地页面为包含提供变量。我在想类,我试图实例化它,但是在我的特定情况下无法使它工作。我有一个页面是所有页面的内容模板,$ variable是每个本地页面特有的内容。我上面列出的内容有效,但我告诉我这不是好习惯。

2 个答案:

答案 0 :(得分:1)

您不应该在包含代码时调用的包含文件中包含代码。您的包含文件应该只包含常量,类和函数定义。那么代码就是:

  • 更可预测
  • 更容易重复使用
  • 不太可能将后门暴露给您的应用程序

当然,正如每条规则都有例外,但我能想到的唯一一个在这种情况下具有任何优点的是当你使用auto-prepend包括修改环境行为而故意不修改应用程序代码(例如,使用带有现成应用程序的自定义会话处理程序)。

您似乎在描述一个前端控制器模式 - 其中不同功能的请求首先被路由到相同的PHP脚本。术语“模板”通常应用于此体系结构的反面 - 其中多个单独的php脚本的页面布局由公共包含文件处理。

  

我试图将其实例化,但无法在特定情况下使其工作

再试一次。如果没有函数或类,你永远无法构建任何复杂的应用程序。

答案 1 :(得分:0)

tehpage.php

<?php
class tehpage {
    public function __construct($parameters = null) {
        //i.e. the parameters may determine which content is shown
        $this->content = "page content";
    }
    public function htmlOut() {
        echo $this->content;
    }
}
?>

actualpage.php

<?php
include "tehpage.php";
$page = new tehpage($variousparametersyoulikeIlikearrays);
$page->htmlOut();
?>

喜欢这样吗?