You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何调用自定义函数将页面名称传入公共header的title标签

多页面公共头部title动态填充实现方案

你现有代码的核心问题:

  • 用model::setnameisset()静态语法调用,但对应方法不是类静态方法,且传入的页面名称没有做持久存储,仅做了返回操作,调用时没有接收返回值,公共头部无法获取到传入的名称。

1. 修正model.php中的代码

新增静态属性存储页面名称,调整设置方法为静态方法,新增读取方法供公共头部调用:

class model {
    // 静态属性存储当前页面专属名称
    private static $pageName = '';

    // 设置页面名称的静态方法
    public static function setnameisset($name)
    {
        self::$pageName = $name;
    }

    // 供公共头部调用获取页面名称
    public static function getPageName()
    {
        // 未设置名称时返回默认站点名,可自行修改
        return self::$pageName ?: '站点默认名称';
    }
}

2. 调整业务页面的加载顺序

必须保证先加载model类、先设置页面名称,再引入公共头部文件,顺序颠倒会导致取值失败:

// 引入model类文件
require_once 'path/to/model.php';
// 设置当前页面专属名称
model::setnameisset('home');
// 引入公共头部文件
require_once 'path/to/header.php';

3. 修改公共头部的title标签

直接在title标签内输出读取到的页面名称即可:

<!DOCTYPE html>
<html lang="en">
<head>
  <base href="<?= URL ?>">
  <meta charset="utf-8">
  <!-- <meta http-equiv="Content-Type" content="text/html"> -->
  <title><?= model::getPageName() ?></title>
</head>

补充说明:如果你的setnameisset是定义在类外的普通函数,不能使用::的静态调用语法,建议按上述类静态方法的方式实现,可避免全局变量污染问题,逻辑更清晰。

内容的提问来源于stack exchange,提问作者hamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 12:45:43