【问题标题】:How to use the same code for multiple pages that require different variables如何对需要不同变量的多个页面使用相同的代码
【发布时间】:2019-09-17 14:13:26
【问题描述】:

在我的网站上,我有合作伙伴页面,每个页面都包含一个定义数组变量的 PHP 块,然后将这些变量传递给呈现页面内容的循环。例如,对于hotels.php 页面,PHP 块如下:

<?php
    $hotels = [
        ["href" => "link1", 
         "src" => "src1", 
         "alt" => "alt1", 
         "name" => "name1"
        ],
        ["href" => "link2", 
         "src" => "src2", 
         "alt" => "alt2", 
         "name" => "name2"
        ],
        ...
    ];
?>

每组合作伙伴页面都有一个单独的 php 块。由于每个页面的代码几乎相同,只有 PHP 块和我引用变量的方式($hotels、$restaurants 等)不同,我想将它们合并为一个。我会将 PHP 合并为一个,然后使用 URL 找出我在哪些页面上,并找出要使用哪个变量来呈现页面。

我可以这样做,但问题是,例如,如果我访问酒店的页面,我只会使用 $hotel 变量,而其他用于不同类型合作伙伴的变量将被声明但不使用。

我想问一下,未使用的变量的存在是否会减慢网站的速度,以及是否有办法避免这个问题(例如使 php 代码变得懒惰 - 仅在调用变量时才声明变量)。

【问题讨论】:

  • 带有static 变量的类怎么样?
  • @NVRM 怎么样?

标签: php html


【解决方案1】:

制作一个像这样的模板

template.php

<ul>
    <?php foreach ($entities as $entity): ?>
        <li><?= htmlspecialchars($entity['name']); ?></li>
    <?php endforeach; ?>
</ul>

然后在您的各个页面上,定义不同的$entities包含可重复使用的模板

hotels.php

<?php

$entities = [...];
require 'template.php';

【讨论】:

    猜你喜欢
    • 2013-09-12
    • 2013-06-15
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    相关资源
    最近更新 更多