MVC和动态标题


MVC and dynamic titles

当您的网站使用MVC模式时,拥有动态标题的最佳方式是什么?

我看到一些框架用$seo->setTitle('Title here...')之类的东西在控制器中设置标题,但当你想要动态标题时,比如在产品页面上,你想要在标题中显示产品名称,这是不好的。

我想有一个SEO对象,在控制器中创建它,在构造函数中有页面名称,通过使用提供的页面名称,对象中的方法检索并设置pageTitle和description属性。

这会被认为是一种糟糕的做法还是违反了MVC的某些规则?如果是,还有什么更好的方法?谢谢

页面标题的生成是表示逻辑的一部分,因此应该在MVC设计模式的View部分进行处理。

请记住,正确的View不是愚蠢的Template。相反,视图应该负责应用程序中的所有表示逻辑,并能够处理多个模板。

其余的取决于您尝试应用哪种受MVC启发的模式。在Model2中,MVC和HMVC模式视图是活动的,并且能够从模型层请求信息。如果您实现MVP或MVVM,它们包含一个被动视图,该视图从控制器获取信息。

我不知道做有什么问题

$seo->setTitle($productName . " page title....");

$productName变量可以很容易地使用。