为每个页面设置一个标题PHP


Setting a title for every page PHP

我试图使用构造函数在每一页上放置一个标题,除非我指定了特定页面的标题。。。

对于"如何工作"页面。。标题应该是"TeamPlayer-它是如何工作的!"(目前有效)对于常见问题页面,标题应该是"TeamPlayer"(目前不起作用)。

我不想把$data['title']='TeamPlayer';在每个功能中。我该如何解决我的问题?

    function __construct()
    {
        parent::__construct();
        $data['title'] = 'TeamPlayer';
    }
public function howitworks()
{
        $data['title'] = 'TeamPlayer - How it works!';
        load_page('howitworks', $data);
}
    public function faq()
{
        load_page('faq', $data);
}

编辑:::

我不明白我怎么能在我的问题上更具描述性。。为了帮助那些试图帮助的人。。。以下是我如何在我的观点中呼应我的头衔。我尝试使用提供的一些解决方案,但无法使它们在我的控制器中发挥作用

<title><?php echo $title; ?></title>

与其为每个标题创建一个函数,为什么不使用一个函数来设置标题:

private $title;
public function setTitle($title) {
    $this->title = $title;
}

所以在你的howitworks函数中,你可以设置标题

public function howitworks()
{
        $this->setTitle('TeamPlayer - How it works!');
        load_page('howitworks', $data);
}
function __construct($title=NULL)    {
        parent::__construct();
        if ($title===NULL)
            $data['title'] = 'TeamPlayer';
}

您的解决方案并不是很灵活。如果你想进一步专门化那些页面(想想SEO的标签,导航面板的额外元素等等…)

为每个页面创建子类,这些子类(除其他外)将更新标题。然后load_page可以实例化适当的类。