使用 ZF2 组件,无需整个 MVC 流程
Posted
技术标签:
【中文标题】使用 ZF2 组件,无需整个 MVC 流程【英文标题】:Using ZF2 components without entire MVC process 【发布时间】:2015-01-12 21:37:22 【问题描述】:在不使用 MVC 过程的情况下使用 Zend Framework 2 组件的可行性如何?例如,我喜欢表单/验证和 ACL 元素,但不确定在没有整个 MVC 系统的情况下这是否真的可行?
作为一个框架,ZF2 非常慢(尽管我认为它是一个非常好的系统),所以希望鼓励在没有整个包的情况下使用它。谢谢。
【问题讨论】:
【参考方案1】:是的。 Zend Form 组件有一个separate repository,它可以在任何应用程序中作为一个组件在composer 的帮助下使用。 (我假设您正在使用 composer 并且您的应用程序也使用 composer 的自动加载器)它只需要 InputFilter 和 Stdlib 组件。
您可以轻松尝试。打开你的命令行:
$ cd /path/to/an-empty-folder
使用以下内容创建一个composer.json
文件
"name": "Form Demo App",
"require":
"php": ">=5.4",
"zendframework/zend-form": "2.3.*@dev"
在输入之后
$ composer update
以下依赖项将自动安装到vendor
目录并创建composer.lock
:
Loading composer repositories with package information
Installing dependencies (including require-dev)
- Installing zendframework/zend-stdlib (2.3.3)
Downloading: 100%
- Installing zendframework/zend-validator (2.3.3)
Downloading: 100%
- Installing zendframework/zend-filter (2.3.3)
Downloading: 100%
- Installing zendframework/zend-inputfilter (2.3.3)
Downloading: 100%
- Installing zendframework/zend-form (2.3.3)
Downloading: 100%
从性能角度来看,ZF2 并不是很慢。您只需在生产环境中执行 couple of things 即可以更高的性能运行您的应用程序。
【讨论】:
感谢您的回答。几点-首先我不会使用作曲家,所以可以只使用文件/包含吗?其次感谢您的链接。这些点的问题(不是说你的链接不好!)是任何 Opcaching 总是有助于提高框架的性能(但是关于类映射的其他点很有趣)。从统计上看,每当我看到 Zend 的比较时,结果通常都非常慢(尽管我认为它是一个很棒的框架),所以在生产中我们故意推迟使用它。我认为这些问题是框架固有的。 存在很多指标来计算整体软件质量,例如可靠性、可测试性、可维护性、安全性、可扩展性、可移植性、开发成本、可用性等......不仅是效率。这是一个权衡。 ZF2、Symfony 2、Doctrine 2 都是不错的框架和库,但需要权衡取舍。如果您不编写单页 hello world 应用程序,您最重要的关注点不应该只是性能,永远不会。以上是关于使用 ZF2 组件,无需整个 MVC 流程的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC学习—Spring MVC中的核心组件以及请求的执行流程