3

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

我已经看到一些框架在控制器中设置了类似的标题,$seo->setTitle('Title here...')但是当您想要动态标题(例如产品页面上的产品名称)时,这并不好。

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

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

4

2 回答 2

3

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

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

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

于 2012-07-23T00:19:16.090 回答
2

我看不出这样做有什么问题

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

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

于 2012-07-23T00:11:26.940 回答