代码之家  ›  专栏  ›  技术社区  ›  Matthieu Napoli

使用Zend框架,模块和包之间的区别是什么?

  •  0
  • Matthieu Napoli  · 技术社区  · 15 年前

    使用Zend框架开发Web应用程序。

    现在,我有一个巨大的库,其中包含了每一个东西,由几个Web应用程序使用。我正在考虑使用“模块”的概念对其进行重组。

    但我不确定模块和包之间的区别。

    我理解的是:

    • 模块包含Web应用程序的一部分(页面、模型…)
    • 包是库中的一组类

    我看得对吗?如何知道我的课程(模块或库的模型)应该放在哪里?

    我想这是一个关于API、库和应用程序体系结构的开放性问题。

    3 回复  |  直到 15 年前
        1
  •  3
  •   Gordon Haim Evgi    15 年前

    在ZF意义上,模块是组具体的,通常是独立的, 应用 部分:

    模块允许开发人员将一组相关的控制器分组到逻辑组织的组中。模块目录下的结构将类似于应用程序目录下的结构。[_]模块的目录结构应与推荐项目结构中的应用程序/目录的目录结构相似。

    另一方面,包是 代码库 在概念上属于一起。例如,ActionHelpers和ControllerPlugins概念上属于 Zend_Controller 包裹。所有可用的验证程序类都属于包 Zend_Validate .

    使用phpdocumentor时,可以将代码注释为属于包。如果您查看ZF的API文档,您将看到这个分组有效。试图找到 Zend_Validate_Alpha 班级。

        2
  •  1
  •   streetparade    15 年前

    包是命名空间区域,因此具有相似名称的符号不会相互冲突。例如,符号&main::First与符号&list::Util::First不同。包是sysbols的名称前缀。

    模块是代码文件或字节码树。模块可以预编译(.pmc)、磁盘上的未编译(.pm)或作为一个单元预加载到内存中——假设没有自动拆分。

        3
  •  0
  •   DCC    15 年前

    在我看来很简单:
    模块就像smarty(一个目标模板化的库)。
    软件包是两个或多个模块,它们相互协作以提供更完整的解决方案。
    再次,我的简单观点。

    推荐文章