【问题标题】:need advice on Zend framework Application architecture, or say approach dealing with modules需要有关 Zend 框架应用程序架构的建议,或者说处理模块的方法
【发布时间】:2011-02-03 07:10:42
【问题描述】:

让我从我做过的事情开始,以及我如何使用一些东西来获得结果

我已将模块化结构设置为:

application/
    /configs
    /layouts
    /models
    /modules
         /users
         /profile
             /frontend
             /backend
                 /controllers
                 /views
              ....
  1. 我编写了一个插件,它使用 FrontController->setModuleControllerDirectoryName() 添加更改 FrontController->addModuleDirectory() 很好,我已经根据 url 中是否请求天气管理页面更改了所有目录(类似于 /admin/some/some)

  2. 假设我对与 Profile 查看相关的任何内容都有一个单一的布局,在本例中是“Profile”模块。 Profile布局分为三部分

    alt text http://img693.imageshack.us/img693/2463/profileyw.png

在布局中,我使用 action() 拉出 Profile/PhotoController 的索引操作

$this->action('index', 'photo', 'profile');

然后我遇到了一些问题 1. 调用时(profile/profile/index)可以获取Photo Controller内部的Params; 2. 发现助手 Action() 是邪恶的,因为它启动了另一个调度循环 =) ---现在我认为我将控制器模块插入布局的方法也是邪恶的=)。 无论如何我应该如何处理将一些控制器(另一个模块控制器)插入布局?

【问题讨论】:

  • 请任何人,戈登,你在哪里 =)
  • 还是问错地方了? =)

标签: php model-view-controller zend-framework architecture


【解决方案1】:

老实说,您的项目结构不够清晰,例如:

 /profile
             /frontend
             /backend
               /controllers
               /views

profile 是一个模块,所以什么是 forntend 和 backend? 我的理解是: 您愿意在仪表板布局上执行 Profile/PhotoController 我可能是错的,但我猜 在您的命名空间和操作助手中创建一个服务或类或者在您的情况下它应该是视图助手来执行新创建的类

您将在this book 第 10 章 - 第 295 页 - 跨模块通信服务中找到更多信息

希望我能找到线索

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 1970-01-01
    • 2011-05-25
    • 2016-11-03
    相关资源
    最近更新 更多