Zend 框架:PHP web 应用程序架构

Zend Framework:开源架构简化了您的Web应用程序的开发

2006 年初,软件公司 Zend Technologies(现为 Rogue Wave Software 的一部分)在 BSD 许可下发布了 PHP 框架的 pre-alpha 版本,Zend Framework。这家以色列公司的创始人是两位开发人员,Andi Gutmans 和 Zeev Suraski,他们之前开发了由 Rasmus Lerdorf 编写的脚本语言 PHP,这是他们在以色列理工学院与其他毕业生一起学习的一部分。 Zend Technologies 继续致力于改进开源语言,并发布了 PHP 解释器,称为 Zend Engine。迄今为止,Zend 框架已下载超过 1500 万次。当前版本 3(2016 年 7 月继承 Zend Framework 2.0)与以前的版本不兼容,但可以创建基于 PHP 5.6(或更高版本)的 Web 应用程序和服务。

Zend 框架是什么?

由于其广泛的基础,面向对象的 Zend 框架是 Web 应用程序的完美开发平台。 专业的 PHP 包集合,已集成到框架中,非常简单,甚至给经验丰富的开发人员留下深刻印象。基本功能可以通过最少的编程工作快速集成,从而可以将重点放在实现您自己的应用程序的功能上。该框架使用包管理员Composer脚本测试环境PHPUnit和Travis CI一个持续集成工具,可以自动构建和发布 GitHub 项目。

Zend 技术一直得到非常活跃的 PHP 社区的支持,这有助于开发和不断改进开源框架。此外,与 Zend 建立合作伙伴关系的公司,如 Google、Microsoft 和 Adobe,为他们的 Web 服务提供了各种接口。

Web 应用程序框架提供什么?

标准的 Zend 框架包含 60 多个包,这些包可以使用 Composer 和简单的代码行快速执行。如果您的操作系统的包管理中没有包含安装包,您可以在官网上找到。或者,您可以在GitHub上下载并单独使用框架包。除此之外,您可以使用各种组件和类来为您的 Web 项目实现以下功能:

  • 认证/用户管理

  • 数据库访问(CRUD)

  • 邮箱系统

  • 搜索索引

  • 位置

  • 缓存

  • 验证码

  • MVC架构

Zend 框架的最大优点是所有组件都经过编程,因此它们不依赖于其他组件。有了这种结构,就可以只选择所需的模块并根据自己的喜好编译开发平台。这被称为“胶水”框架。因此,无论您需要强大的 MVC 架构、用于数据库访问的 CRUD 接口、针对不同用户组的身份验证选项,还是完整的软件包,您都可以配备。借助测试框架PHPUnit,您可以在开发过程中尽早主动检查程序的进度,发现弱点和故障。 Zend 框架不仅是一个非常灵活的架构,它还可以用于其他 PHP 框架,如CakePHP或 Symfony。

PHP作为开发基础

Zend 框架的各种组件都基于 PHP,这使得该框架成为所有计划使用这种脚本语言的程序员的不二之选。无需获得付费许可证即可使用开源软件。

托管和操作 PHP Web 应用程序也很简单,无论是由其本身还是与外部提供商一起,PHP 是标准曲目的一部分。通过有帮助的社区提供高水平的分发、大量手册、用户论坛和其他支持可能性。非常值得注意的是,社区成员和从一开始就参与其中的早期开发人员在 Zend 引擎和 Zend 框架的进一步开发中发挥了重要作用。从版本 3 开始,Zend 框架支持面向性能的 PHP 7,这使得开发更强大的 Web 应用程序成为可能。与 PHP 5.6 相比,官方继任者承诺不仅速度翻倍,还优化您的 Web 项目的内存需求

对 PHP 开发的不同影响并不总是有利于脚本语言的结构。与 Ruby 这样具有清晰哲学理念的语言相比,PHP 的定位一次又一次地改变。它最初是 Perl,后来受到 C、C++ 和 Java 的启发。据许多评论家说,因此导致脚本语言缺乏统一性。特别是,命名函数和排列参数是不言自明的。因此,程序员需要耐心并更多地了解开源语言,以便他们可以正确地将其用于自己的 Web 应用程序。虽然介绍可能看起来相对容易,但由于缺乏清晰的概念,任何进一步的学习都相当缓慢。 Zend 框架的架构更像是一个障碍,因为完成的脚本节省了大量的编程时间和精力,但同时它们也使初学者更难理解。

Zend Framework:可扩展性和支持

尽管 PHP 存在结构上的弱点,在某些方面增加了语言的复杂性,但只要用户正确掌握它,它仍然是 Web 项目最有效的服务器端编程语言之一。 Zend 的框架意味着它还为经验丰富的开发人员提供了加快工作流程的最佳工具。重要功能可以使用您自己的 Web 应用程序中包含的类和组件来实现,也可以适应您自己的需求。许多经过修改的组件,可以额外下载到框架中,也增加了可能的功能数量。

如上所述,支持与 Zend 框架提供的可能性一样多样化:在线手册、教程和网络研讨会,不仅在官方网站上提供,还来自 Zend 社区的成员。此外,还有多个不同语言的邮件列表、IRC 频道和论坛。如果您想了解 Web 应用程序架构 的实际工作原理,有足够的材料可供您使用——就像底层脚本语言 PHP 一样。该框架的技术支持也令人印象深刻:Zend 负责单个组件的整个开发过程,并为较大的版本提供三年的支持。在此期间,公司会定期发布解决严重错误和安全问题的小更新。

如果您在 Zend Framework 中发现错误和安全问题,您可以通过 GitHub Report 或发送电子邮件进行报告。

Zend框架的优缺点

借助 Zend Framework 3 和 PHP 7 的实施支持,Zend 开发团队向前迈出了关键的一步,并为应用程序架构提供了不错的性能升级,这也适用于较旧的 PHP 5 项目。迄今为止,开发应用程序的速度经常受到批评,但这已不再是问题。然而,使用完整的框架仍然有两个决定性的缺点。首先,该框架不适合实现较小的项目由于其复杂的结构。其次,使用框架和 PHP 作为编程基础意味着熟悉并不是特别容易。您不应低估学习架构和各个组件所需的时间。除此之外,框架没有自己的测试环境,因此依赖于外部 PHPUnit。

功能范围代表了 Web 应用程序框架的多功能。从长远来看,您一开始所付出的努力很可能会得到回报,因为您不能从零开始编程,而是可以依靠现成的设计。您只需要自己编写应用程序的一小部分。多亏了 MVC 模块,分离用户界面 (GUI) 和业务逻辑(实际编程)根本不是问题,这对于定期进行设计调整的 Web 项目来说是一个很大的优势。然而,Zend 框架的最大优势在于 Zend 技术和多元化社区提供的出色支持,这使得该框架在过去几年中具有必要的稳定性和安全性。

PHP架构适合哪些人?

这个使用框架的项目列表显示了 Zend 框架的通用性。 These include the shop systems, Magento and Shopware, the content management system, Pimcore, the web analysis tool, Piwik, as well as the genealogy software, Webtrees.在CMS和商店系统领域,框架的模块化方案生效。好消息是有很多潜在的联系人,如果出现问题,您可以联系。然而,一般来说,Web 项目越小,计划中的 Web 框架的益处就越小。如果您想创建一个简单的公司页面或个人网站,还有更高效和节省资源的解决方案。

您的语言偏好起着至关重要的作用,因为 Zend 框架总是需要 PHP——即使您将组件移植到其他框架中也是如此。虽然开发人员必须习惯简化,甚至可能不得不参与其中,但对于初学者来说自然是困难的两倍:一方面,你必须学习 PHP,另一方面,你必须了解现成的组件。否则,您将无法正确使用该框架并使其适应您的项目。

Zend Framework:现代 PHP 项目的灵活框架

如果您计划基于 PHP 编写 Web 应用程序并希望自己编写每一行代码,则不需要 Zend 框架。一方面,如果您在开发过程中寻求节省时间的支持,那么值得一看 Zend 开发平台。有了这个,您可以使用现成的 PHP 包实现您的 Web 项目,而无需从头开始编写整个代码。您可以自由选择操作系统和 Web 服务器,因为所有现代平台和软件都支持 PHP 作为已建立的脚本语言。

从第 3 版开始,Zend 框架支持 PHP 7,如果应用程序是使用 Web 应用程序框架创建的,那么它可以为应用程序提供额外的速度提升。如果您有任何疑问或问题,您会得到很好的帮助,因为大型社区为脚本语言和框架提供支持。然而,由于框架变得越来越流行,犯罪分子利用这一事实并在 Zend 框架和使用它开发的应用程序中搜索漏洞。这些社区提供的帮助使您能够编写干净且安全的代码,从而防止潜在的攻击。此外,所有框架用户都可以报告他们检测到的任何漏洞,以便在下一个可能的机会进行修复。

Logo

WordPress社区为您提供专业的建站知识与服务支持,提供一步到位的镜像安装和wordpress主题与插件支持

更多推荐