1.8版本的公布,应该是ZF推动框架和代码标准化的步骤之一吧。随着加入ZF开发的人越来越多,ZF的功能越来越强大,但代码也越来越庞大了。
新版本主要是有两个特色功能:1是快速构建项目开发,利用cli程序来进行快速推荐,2是简化了云计算的操作(这主要应该是ZF和amazon的合作导致的吧?)
快速构建项目的功能,应该是比较让用户开心的,虽然zs6已经能够创建ZF项目,但还是有很多controller,action,model需要用户一一去创建,这,虽然不复杂,也如果多的话,也很繁琐。如今 ,1.8也让你解放出来了,看图上的命令行界面,你应该知道新版本是多么的方便了吧?(顺便说一下,现在国内的thinkPHP,QeePHP都有类似功能的工具推出,这可是国内走在了前端,他们都是一年前就有推出哦)
本次更新对Zend_Loader_Autoloader作出了更新,它与Zend_loader::autoload()不太一样,是一次新的改进。具体我也不翻译了,可以自己看一下代码就清楚了。这主要是对SPL的autoload所不能解决问题的一些改进,比如类名前缀等
云计算也是此次的亮点,但我一般用不了amazon的东西,所以我也不想翻译这些东西了。相信国内也用不了这些,哈哈
最后的更新,请看英文版最后的:Other Contributions,看看里面是不是有你想要的东西。
I'm pleased to announce the Zend Framework 1.8.0 release, the first in our 1.8 series of releases. This release marks the culmination of several long-standing projects, as well as a formalization of many of our recommended practices.
There are two major stories in this release: first, the addition of several components designed to provide and promote Rapid Application Development; second, two offerings that make using Zend Framework in the cloud easier.
Rapid Application Development
1.8.0 marks the first public release of Zend_Tool. At its simplest, Zend_Tool provides a command-line script that can be used to ease many common project-related tasks: setting up the project tree, adding controllers, actions (and related view scripts), model classes, etc. More advanced users can create their own tool providers that can then be directly invoked from that script -- or even create their own RPC endpoints so as to expose the tooling on the web or via a web service.
As an example of it in action, check out this screenshot:
In a related vein, 1.8 also introduces Zend_Application, which provides a standard and object oriented method for bootstrapping applications. Bootstraps may define their own initialization resources, or draw upon some common plugins to do their work. Additionally, resources may be bootstrapped individually, allowing you to utilize a common bootstrap with multiple gateway scripts tailored for different tasks.
One dependency of Zend_Application is Zend_Loader_Autoloader. Zend_Loader_Autoloader is a replacement for Zend_Loader::autoload(), and solves many of the issues users have reported with that solution. Additionally, it provides the ability to manage a stack of namespaced autoloaders, working around some minor issues of the SPL's autoloader as well as providing opportunistic matching of namespace prefixes to match your classes quickly. A subcomponent, Zend_Loader_Autoloader_Resource provides a simple mechanism for mapping classes to the filesystem when the directory structure may not exactly correspond to the class name. By using an autoloader by default, you can help keep your code more performant as well as leave class resolution out of your code -- greatly epediting application development.
Note: the Zend Framework Quick Start has been updated to use Zend_Tool and Zend_Application. It's an excellent introduction to these components as well as Zend Framework's MVC in general.
Cloud Computing
Web 2.0 applications have many demands not seen in traditional web applications. One of these is the need for distributed storage, and another is the need to scale horizontally on demand as traffic to your site spikes.
Amazon has provided solutions to both of these problems for several years now with its Simple Storage Service (S3) and Elastic Compute Cloud (EC2), respectively.
Amazon S3 provides web services developers may use to store and retrieve data. The service is distributed, and thus highly scalable, reliable, and fast. Zend_Service_Amazon_S3 provides an object oriented approach to the service, as well as a PHP streams wrapper -- both designed to make working with S3 from your PHP applications a simple matter.
Amazon EC2 provides a web service to allow launching and managing server instances within Amazon's data centers. These server instances may be used at any time for any length of time -- allowing you to scale your site only when you need to handle extra traffic, or run your services entirely from the EC2 platform.
Other Contributions
The number of community contributions and bug fixes for 1.8.0 has been phenomenal. Below is a list of the primary feature additions for the release.
- Zend_Tool, contributed by Ralph Schindler
- Zend_Application, contributed by Ben Scholzen and Matthew Weier O'Phinney
- Zend_Loader_Autoloader and Zend_Loader_Autoloader_Resource, contributed by Matthew Weier O'Phinney
- Zend_Navigation, contributed by Robin Skoglund
- Zend_CodeGenerator, by Ralph Schindler
- Zend_Reflection, Ralph Schindler and Matthew Weier O'Phinney
- Zend Server backend for Zend_Cache, contributed by Alexander Veremyev
- Zend_Service_Amazon_Ec2, contributed by Jon Whitcraft
- Zend_Service_Amazon_S3, Justin Plock and Stas Malyshev
- Incorporated Dojo 1.3
- Added support for arbitrary Dojo Dijits via view helpers
- Zend_Filter_Encrypt, contributed by Thomas Weidner
- Zend_Filter_Decrypt, contributed by Thomas Weidner
- Zend_Filter_LocalizedToNormalized and _NormalizedToLocalized, contributed by Thomas Weidner
- Support for file upload progress support in Zend_File_Transfer, contributed by Thomas Weidner
- Translation-aware routes, contributed by Ben Scholzen
- Route chaining capabilities, contributed by Ben Scholzen
- Zend_Json expression support, contributed by Benjamin Eberlei and Oscar Reales
- Zend_Http_Client_Adapter_Curl, contributed by Benjamin Eberlei
- SOAP input and output header support, contributed by Alexander Veremyev
- Support for keyword field search using query strings, contributed by Alexander Veremyev
- Support for searching across multiple indexes in Zend_Search_Lucene, contributed by Alexander Veremyev
- Significant improvements for Zend_Search_Lucene search result match highlighting capabilities, contributed by Alexander Veremyev
- Support for page scaling, shifting and skewing in Zend_Pdf, contributed by Alexander Veremyev
- Zend_Tag_Cloud, contributed by Ben Scholzen
- Locale support in Zend_Validate_Int and Zend_Validate_Float, contributed by Thomas Weidner
- Phonecode support in Zend_Locale, contributed by Thomas Weidner
- Zend_Validate_Db_RecordExists and _RecordNotExists, contributed by Ryan Mauger
- Zend_Validate_Iban, contributed by Thomas Weidner
- Zend_Validate_File_WordCount, contributed by Thomas Weidner
In addition, we recorded well over 200 bug fixes for this release.
Please join me in a hearty round of congratulations and acknowledgment of all contributors who helped make this release possible through code contributions, feedback, testing, documentation, translations, and issue reports!