PHP 框架 - 布局动态菜单

标签 php zend-framework cakephp codeigniter symfony1

<分区>

我正在用 PHP 开发一个网站,我想使用 mvc 框架来完成这项工作,因为我想获得使用 PHP 框架的经验。

我查看了 Zend、CakePHP 和 CodeIgniter,但未能找到一种直观的方法来完成此任务。

我需要做的是创建一个布局,例如:

<html>
<head>
<!--scripts go here-->
</head>
<body>
<div id='banner'></div>
<div id='menu'><?php $this->layout()->menu ?></div>
<div id='container'><?php $this->layout()->content ?></div>
<div id='ads'><?php $this->layout()->ads ?>
<div id='footer'>blah</div>
</body>
</html>

我正在寻找一个可以简单地完成此操作而无需大量 hack 的框架,因为从我的角度来看,这应该很容易完成。

这将从单独的 Controller 和 View 中提取菜单、内容和广告,当然是动态内容。我不想将菜单代码放入每个 View ...

也许这很简单,我只是用错了方法?

感谢任何帮助。

谢谢你,
-本

最佳答案

Symfony 可以使用多种概念来完成您正在寻找的事情。

  • 布局 - 这是用于装饰页面的主要结构。
  • 模板 - 这是 Controller 附加到 URL 的主视图。
  • Fragments - 轻量级并使用您传递给它的数据。
  • 组件 - 在您需要访问模型时使用,代码分为表示和逻辑。
  • 槽 - 用于替换布局的定义部分。

在您的情况下,布局将使用模板逻辑包含主要内容,模板逻辑是 View 层的核心,其他项目将是片段或组件,具体取决于它们需要访问多少模型。

Symfony documentation对此有完整的解释。

关于PHP 框架 - 布局动态菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1180161/

相关文章:

php - mysql 左连接和返回已连接和未连接

php - 来自 SQL 的多维 PHP 数组,用于 json_encode

cakephp - 让 Sublime Text 与 Cakephp (ctp) View 文件一起使用

cakephp - 如何限制每个记录/组包含的关联?

php - 验证想法

php - 为什么php在代码中抛出语法错误

php - Youtube Zend Api函数中断脚本

mysql - Zend Framework中自动引用MySQL查询疑惑

zend-framework - Zend 中的 Flash Messenger 类型

oop - CakePHP 中使用的设计模式