热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

聊聊:phpyaf框架扩展实践二——多模块

虽然多模块的配置可能会有一些争议,但是在项目前期能加快开发效率和部署效率,若项目发展起来有了更多的资源后可以考虑分拆模块。yaf也支持多模块的配置,先看下yaf如何配置多模块。

虽然多模块的配置可能会有一些争议,但是在项目前期能加快开发效率和部署效率,若项目发展起来有了更多的资源后可以考虑分拆模块。yaf也支持多模块的配置,先看下yaf如何配置多模块。

yaf配置多模块

假如我们要新增加一个api模块,用来提供给app调取使用;新增一个admin模块用来做后台管理。

配置文件中增加:

application.modules = Index,Api,Admin

applicaiton目录下新建modules目录,目录结构如下:

yaf多模块目录示例

yaf多模块目录示例

其中Admin、Api目录就和配置的模块名称一致,每个模块目录下都可以新建controllers和views目录用作控制器和视图,唯一遗憾的是模块下的models内的文件不支持自动载入,所以在该模块下的一些业务方法只能放在application/models目录下。

什么时候需要新建模块

一般来讲如果该模块具有统一的控制方法则可以考虑新建模块,如果上例api模块,用来提供给app调取使用,其中可以封装统一的数据输出方法。admin模块可以统一封装授权和校验登录。统一封装的方式参见library下的控制器父类:

yaf各模块父类

yaf各模块父类

小结

在项目初期通过多模块的使用,可以很好的重用代码,管理起来也方便很多。只是要考虑到未来模块拆分的可能性,尽量避免各模块之间耦合度太高,因为都在同一个项目里开发这样的问题有时很容易犯,需要特别注意。另外在部署的时候需要注意下权限访问问题,例如admin模块可以考虑限制ip访问、内部的接口模块只允许服务器内访问等。


推荐阅读
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文介绍如何使用PyCharm专业版通过SFTP上传项目文件至云服务器。首先,确保你使用的是PyCharm专业版,因为社区版不支持此功能。接下来,我们将在云服务器上创建一个专门的目录用于存放项目文件,并详细介绍每一步配置过程。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 本文介绍如何处理服务器上使用curl命令访问HTTPS域名时出现的SSL连接错误问题。通过更新NSS库版本,可以有效解决这一常见问题。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • 如何配置DHCP服务器
    本文详细介绍了配置DHCP服务器的步骤,包括路由器设置和电脑端配置,确保设备能够自动获取IP地址并正常联网。 ... [详细]
  • 深入探讨智能布线管理系统的电子配线架应用
    本文详细介绍了电子配线架智能布线系统的核心优势,包括实时监测网络连接、提高操作准确性、图形化显示连接架构、自动识别网络拓扑、增强安全性等功能。该系统不仅提升了网络管理的效率和准确性,还为资产管理、报告生成以及与其他智能系统的集成提供了强大的支持。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
author-avatar
拍友2502908871
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有