Tags: guilhermewop/zf2
Tags
*Zend Framework 2.0.0rc1* This is the first release candidate for 2.0.0. We will be releasing RCs on a weekly basis until we feel all critical issues are addressed. At this time, we anticipate no API changes before the stable release, and recommend testing your production applications against it. 25 July 2012 - Documentation - is now in a new repository, https://github.com/zendframework/zf2-documentation - Documentation has been converted from DocBook5 to ReStructured Text (reST or rst). - Coding standards fixes - We are (mostly) PSR-2 compliant at this time - Moved all Service components, include Cloud, GData, OAuth, OpenID, and Rest to separate repositories under the zendframework organization on GitHub. This will allow them to be versioned separately, which allows them to break backwards compatibility when necessitated by API changes. - Removed Zend\InfoCard as InfoCard has been declared obsolete by MicroSoft. - Removed Zend\Registry; without the singleton nature, it was confusing and no longer relevant. - Removed Zend\Test component. Most features are now part of PHPUnit, and the others were ZF1-specific. - Removed Zend\Wildfire, as its API was specific to ZF1, and because we can easily leverage FirePHP at this time. - Removed Zend\DocBook, as it was primarily to assist in creating DocBook5 skeletons for the manual; since we've moved to rst, this is no longer relevant. - Removed Zend\Dojo, as the implementation was ZF1 specific, and out-of-date with recent Dojo releases. - Moved Amf, Markup, Pdf, Queue, Search, and TimeSync to separate repositories, as their APIs are not yet stable. PDF will be released with 2.0.0rc1, but only to provide a dependency for Zend\Barcode. - Renamed any classes, properties, or methods referencing the word "configuration" to read "config" instead; this provides consistency internally, and with the Zend\Config component. - Moved Zend\Acl to Zend\Permissions\Acl. - Console - Added features for console routing, providing more flexibility over the traditional Getopt methodology. - Added colorization, tables, prompts, and a variety of other interactive features. - Added ability to use controllers to respond to console routes. - Crypt, Math, Filter\Encrypt and Filter\Decrypt - Random number generation was consolidated to Zend\Math. - Removed the Mcrypt adapter in Filter and replaced with a BlockCipher algorithm. - DB - Metadata now understands enums and sets - Added Replace SQL statement type - AbstractRowGateway provides more cohesive access to field values. - EventManager - The first call to setSharedManager() will now seed the StaticEventManager, in order to match user expectations that the shared event manager is the same everywhere. - Form - Select-style elements now have options populated as value => label pairs instead of label => value pairs. This is done to ensure that option values are unique. - Added getValue() and setValue() to the ElementInterface to make a semantic distinction between an element value and attributes. This allows for easier handling of non-string or calculated values, such as those found in the Csrf and DateTime-family of elements. - getMessages() now omits any elements that have an empty messages array. - Allows removing elements from Collections - Fixed default validators for MultiCheckbox and Radio elements - Custom options are now allowed for all elements, fieldsets, and forms. - Labels and several other view helpers are now translator-capable - Http - set/getServer() and set/getEnv() were removed from Http\Request and now part of Http\PhpEnvironment\Request - set/getFile() methods in Http\PhpEnvironment\Request were renamed to set/getFiles(). Also above methods - When submitted form has file inputs with brackets (name="file[]") $fileParams parameters in Http\PhpEnvironment\Request will be re-structured to have the same look as query/post/server/envParams - each of get(Post|Query|Headers|Files|Env|Server) were provided with two optional arguments, a specific key to retrieve, and a default value to return if not found. - Accept header parsing is more robust with regards to priority. - InputFilter - Added ability to retrieve input objects - I18n - Moved Zend\I18n\Validator\Iban to Zend\Validator\Iban and replaced the option "locale" with "country_code" - Json - Enabled a number of additional flags for json_encode - Loader - Removed the PrefixPathLoader, and replaced all usages of it in the framework with custom AbstractPluginManager implementations; this includes Zend\Feed, Zend\Text, and Zend\File\Transfer. - Log - Added a MongoDB log writer - Added a FirePHP log writer - Refactored how filters are instantiated and managed to use an AbstractPluginManager instance. - Mail - Added a MessageId header class - ModuleManager - Made it possible to substitute alternate ServiceListener implementations - Moved default service configuration from the ModuleManager to the ServiceListener - MVC - Fixed a potential security issue in the ControllerLoader whereby arbitrary, non-controller classes could be instantiated. This involves removing the ability to fetch controllers via the DI Proxy (a minor backwards compatibility break). - Restful controller now provides a simpler way to marshal input data and override the default behavior. - Most View-related services were moved to their own factories to allow easier overriding by developers. - New PostRedirectGet plugin, to simplify PRG strategies for form submissions. - Serializer was refactored to make better use of PHP 5.3 features and to simplify the API. - ServiceManager - Allow passing the SM instance to initializers - Allow specifying the classname of an InitializerInterface implementation to addInitializer() - Validator - ValidatorChain now has a getValidators() method - InArray validator now does context-aware strict checks to prevent false positive matches, fixing a potential security vulnerability. - View - New AbstractTranslatorHelper, for helpers that should allow translations. Almost *200* pull requests for a variety of features and bugfixes were handled since beta5!
*Zend Framework 2.0.0beta5* 6 July 2012 THIS RELEASE IS A DEVELOPMENT RELEASE AND NOT INTENDED FOR PRODUCTION USE. PLEASE USE AT YOUR OWN RISK. This is the fifth and last in a series of planned beta releases. The beta release cycle has followed the "gmail" style of betas, whereby new features have been added in each new release, and BC has not been guaranteed. Following this release, we plan to perform some repository cleanup, a standards audit, and documentation migration. Once these tasks are complete, we will prepare our first Release Candidate (RC). PLEASE NOTE: this beta includes a number of breaks from the previous beta. Please read the notes below prefixed with "BC BREAK" for specific breakages. The ZendSkeletonApplication typically reflects any BC changes that have been made, and is a good resource. - Escaper component (Padraic Brady) - Provides context-specific escaping mechanisms for HTML content, HTML attributes, URLs, CSS, and JavaScript. - BC BREAK: The escape() view helper was removed, and replaced with escapeHtml(), escapeHtmlAttr(), escapeJs(), escapeCss(), and escapeUrl() implementations. - New I18n component (Ben Scholzen, Chris Martin, Dennis Portnov, Matthew Weier O'Phinney) - New component leveraging PHP's ext/intl extension to provide internationalization (i18n) and localization (L10n) features and capabilities to applications. - LEVERAGES: - DateTime, DateTimezone, IntlDateFormatter - Locale - NumberFormatter - BC BREAK: REMOVES the following components: - Zend\Currency - Zend\Date - Zend\Locale - Zend\Measure - Zend\Translator - All filters, validators, and view helpers that relied on the above. - PROVIDES: - Zend\I18n\Translator, including support for gettext and PHP-array-based translations (more are planned). - Zend\I18n\Filter, containing localized filtering capabilites for Alnum (alphanumeric), Alpha (alphabetic), and NumberFormat (numerical strings). - Zend\I18n\Validator, containing localized validation capabilities for Alnum (alphanumeric), Alpha (alphabetic), Iban (international bank account number standard), Int (integer), and PostCode (localized postal codes). - Zend\I18n\View, containing localized view helpers for CurrencyFormat, DateFormat, NumberFormat, Translate, and TranslatePlural. - Db layer additions (Ralph Schindler, Rob Allen, Guillaume Metayer, Sascha Howe, Chris Testroet, Evan Coury, Ben Youngblood) - Metadata support - Postgresql adapter/driver - New HydratingResultSet, allowing the ability to specify a custom hydrator (from Zend\Stdlib\Hydrator) for hydrating row objects. - Many bugfixes and stabilizations - Form additions (Matthew Weier O'Phinney, Michaël Gallego, Yanick Rochon) - Annotations support: Ability to use annotations with a domain object in order to define a form, fieldsets, elements, inputs and input filters, and more. - Hydration of fieldsets; fieldsets may compose their own hydrators if desired. - Collection support; allows multiple instances of the same fieldset. As an example, you might have an interface that allows adding a set of form elements via an XHR call; on the backend, these would be defined as a collection, allowing arbitrary numbers of these fieldsets to be submitted. - New view helpers covering most HTML5-specific element types, most XHTML-specific element types. Additionally, a number of the HTML5-specific element types now have Element implementations to create turn-key solutions that include validation and filtering. - BC BREAK: Options support. Many attributes were being used not as HTML attributes but to define behavior. The ElementInterface now has an accessor and mutator for options. Examples of options include labels for non-radio/checkbox/select elements, the CAPTCHA adapter for CAPTCHA elements, CSRF tokens, etc. If you were defining labels in your forms, please move the label and label attributes definitions from the "attributes" to the "options" of the element, fieldset, or form. - BC BREAK: new interface, ElementPrepareAwareInterface, defining the method "prepareElement(Form $form)". The FieldsetInterface, and, by extension, FormInterface, extend this new interface. It is used to allow preparing elements prior to creating a representation. - MVC additions (Kyle Spraggs, Evan Coury, Matthew Weier O'Phinney) - New "Params" controller plugin. Allows retrieving query, post, cookie, header, and route parameters. Usage is $this->params()->fromQuery($name, $default). - New listener, Zend\Mvc\ModuleRouteListener. When enabled, if a route match contains a "\__NAMESPACE__" key, that namespace value will be prepended to the value of the "controller" key. This should typically be used in the root route for a given module, to ensure controller names do not clash. - Bootstrap simplification. A new "init()" method was created that accepts the path to a configuration file, and then creates and bootstraps the application; this eliminates all common boilerplate for the bootstrap scripts. - Hydrator changes (Adam Lundrigan) - BC BREAK: the ClassMethods hydrator now assumes by default that it should convert between underscore_separated names and camelCase. - BC BREAK: Doctrine Annotations Parser (Matthew Weier O'Phinney, Marco Pivetta, Guilherme Blanco) - Zend\Code\Annotation now has a dependency on Doctrine\Common for its annotation parser. - Annotations now conform to Doctrine's standards by default, but the AnnotationManager in ZF2 allows attaching alternate parsers for specific annotation types. - BC BREAK: Removal of Plugin Broker usage (Matthew Weier O'Phinney, Evan Coury) - All uses of the Plugin Broker / Plugin Class Locator combination were removed. A new class, Zend\ServiceManager\AbstractPluginManager, was created and used to replace all previous usages of the plugin broker. This provides more flexibility in creation of plugins, as well as reduces the number of APIs developers need to learn. - Configuration of plugin managers is now done at the top-level. All plugin manager configuration follows the format utilized by Zend\ServiceManager\ServiceConfiguration, and Zend\ModuleManager\Listener\ServiceListener has been updated to allow informing it of plugin manager instances it should manage, as well as the configuration key to utilize. - BC BREAK: Coding Standards (Maks3w, Sascha Prolic, Rob Allen) - Renamed most abstract classes to prefix them with the term "Abstract". In particular, ActionController and RestfulController are now AbstractActionController and AbstractRestfulController. - Renamed getters in HTTP, EventManager, and Mail components. These components were using accessors such as "events()", "query()", "headers()", etc. All such accessors were renamed to prepend "get", and, in the case of "events()", renamed to indicate the actual object retrieved ("getEventManager()"). - SECURITY FIX: XmlRpc (Matthew Weier O'Phinney) - A security issue arising from XML eXternal Entity (XXE) injection was patched; see http://framework.zend.com/security/advisory/ZF2012-01 Over *400* pull requests for a variety of features and bugfixes were handled since beta4!
Zend Framework 2.0.0beta4 THIS RELEASE IS A DEVELOPMENT RELEASE AND NOT INTENDED FOR PRODUCTION USE. PLEASE USE AT YOUR OWN RISK. This is the fourth in a series of planned beta releases. The beta release cycle will follow the "gmail" style of betas, whereby new features will be added in each new release, and BC will not be guaranteed; beta releases will happen _approximately_ every six weeks. Once the established milestones have been reached and the featureset has reached maturity and reasonable stability, we will freeze the API and prepare for Release Candidate (RC) status. At this time, we are only planning for one more beta release (beta5) before starting the RC process. PLEASE NOTE: this beta includes a large number of breaks from the previous beta, due to introduction of the ServiceManager, changes to the EventManager, renaming of the ModuleManager, rewrite of the Form component (and removal of the Dojo component), and several changes in the View layer. Please consult the ZendSkeletonApplication to get an idea of the changes necessary to make your application work with beta4. - Config component (Enrico Zimuel) - Added reader and writer implementations for JSON and YAML configuration - Crypt and Math (Enrico Zimuel) - Creates a generic API for string and stream en/decryption - Provides bcrypt support - Provides BigInteger support - Provides common methodology surrounding credential encryption and hashing - Db layer (Ralph Schindler) - Zend\Db\Adapter: added buffer() to the ResultInterface, added that feature to Mysqli Result object - Zend\Db\Adapter: added ability to subselect Sqlite for returning a true count() - Zend\Db\Adapter: added API to return helper closures from the Adapter API - Renamed "database" to "schema" in all usages across Zend\Db - Zend\Db\Adapter: Various fixes for PDO connection parameters - Zend\Db\Sql: created a shared AbstractSql implementation to share expression processing - Zend\Db\Sql: created a more robust "Expression" object for use in Select and Predicates - Zend\Db\Sql: created an internal workflow and architecture to handle the creation of platform specific queries - Zend\Db\Sql: implemented limit() and offset() API to Select - Zend\Db\Sql: added having(), order() to SELECT API - Zend\Db\Sql: added alias support to Select::columns() - Zend\Db\TableGateway: reorganized AbstractTableGateway and TableGateway, removed other extensions in favor of "Features" - Zend\Db\TableGateway: created a "Features" API in TableGatway to promote horizontal extension of TableGatway - Di (Ralph Schindler, Marco Pivetta) - Added method injectDependencies($instance), to allow injecting an object after an instance is already available (used in the ServiceManager) - Various fixes based on issue reports - Dojo - REMOVED. Support was for out-dated versions of Dojo, and with the new Form rewrite, it needs to be completely rewritten. This is targetted for post 2.0.0 at this time. - EventManager (Matthew Weier O'Phinney) - New SharedEventManager, a non-static version of the original StaticEventManager - StaticEventManager now extends SharedEventManager and implements a singleton pattern - New ServiceManager creates a shared instance of SharedEventManager and injects it in a non-shared EventManager instance per service; static usage is discouraged at this time. - attachAggregate() now accepts an optional $priority, which, when present, will be passed to the ListenerAggregate, allowing specifying a priority during attachment of its events. - EventManager now can handle arrays of events as well as wildcard events - SharedEventManager now can handle arrays of contexts, wildcard contexts, and arrays/wildcard events. - Form (Matthew Weier O'Phinney, Kyle Spraggs, Guilherme Blanco) - Complete rewrite - Elements compose a name and attributes - Fieldsets compose a name, attributes, and elements and fieldsets - Forms compose a name, attributes, elements, fieldsets, an InputFilter, and optionally a Hydrator and bound object. - New form view helpers accept the Form objects in order to generate markup. - Object binding allows direct binding of model data to and from the Form. - InputFilter (Matthew Weier O'Phinney) - New component for object-oriented creation of input filters - Input objects compose filter and validator chains, as well as metadata such as required, allow empty, break on failure, and more. - InputFilter objects compose Input and InputFilter objects, and allow validating the entire set or specified validation groups. - Log (Enrico Zimuel, Benoit Durand) - Refactored to provide more flexibility - Adds API discoverability (instead of method overloading) - Uses the PluginBroker for loading writers and formatters - Uses PriorityQueue to manage writer priority - Uses FilterChain for filtering messages - Adds a renderer for exceptions, a JSON formatter, and additional interfaces - Mail (Enrico Zimuel) - Allow batch sending via the SMTP transport - ModuleManager (Evan Coury, Matthew Weier O'Phinney) - Renamed from "Module" to "ModuleManager" - Renamed "Consumer" subnamespace to "Feature" - Added new listeners: - OnBootstrapListener (Module classes defining onBootstrap() will have that method attached as a listener on the Application bootstrap event) - LocatorRegistrationListener (Module classes implementing the LocatorRegisteredInterface feature will be injected in the ServiceManager) - ServiceListener (Module classes defining getServiceConfiguration() will have that method called, and the configuration merged; once all modules are loaded, that merged configuration will be passed to the ServiceManager) - MVC (Matthew Weier O'Phinney, Ralph Schindler, Evan Coury) - Removed Bootstrap class and rewrote Application class - Composes a ServiceManager, and simply fires events - Added RouteListener and DispatchListener classes, implementing the default route and dispatch strategies. - Created a new "Service" subnamespace, with ServiceManager configuration and factories for the default MVC services. - Created a new "ViewManager" class, which triggers on the bootstrap event, at which time it creates the various objects of the view layer and wires them together as well as registers them with the appropriate events. - InjectTemplateListener now uses the controller namespace to further namespace the view template; the default is now "<normalized top-level namespace>/<normalized controller name>/<action>" - ServiceManager component (Ralph Schindler, Matthew Weier O'Phinney) - Highly performant, programmatic service creation - Largely replaces DI, but can also consume Zend\Di - Allows: - Service registration - Lazy-loaded service objects - Service factories - Service aliasing - Abstract (fallback) factories - Initializers (manipulate instances after creation) - Fully integrated in the MVC solution - Renamed interfaces (Gabriel Baker, Sascha Prolic, Maks3w) - Most, if not all, interfaces were renamed to suffix with the word "Interface". This is to promote discovery of interfaces, as well as make naming simpler. - Exceptions are affected by this as well. Exception marker interfaces were renamed to ExceptionInterface and pushed into the Exception subnamespace of each component - Composer support (Rob Allen, Marco Pivetta, Kyle Spraggs) - Zend Framework is now installable via Composer (http://packagist.org/), as are each of its individual components - Travis CI integration (Marco Pivetta, Maks3w) - ZF2 is tested on each commit by http://travis-ci.org/ Over *400* pull requests for a variety of features and bugfixes were handled since beta3!
This is the third in a series of planned beta releases. The beta release cycle will follow the "gmail" style of betas, whereby new features will be added in each new release, and BC will not be guaranteed; beta releases will happen approximately every six weeks. Once the established milestones have been reached and the featureset has reached maturity and reasonable stability, we will freeze the API and prepare for Release Candidate status. NEW FEATURES IN BETA3 --------------------- - Refactored Config component (Ben Scholzen, Artur Bodera, Enrico Zimuel, Evan Coury) - All readers moved under Zend\Config\Reader - JSON and YAML readers removed until beta4 - New API: $xml = new Zend\Config\Reader\Xml(); $config = new Zend\Config\Config($xml->fromFile($filename); or: $xml = new Zend\Config\Reader\Xml(); $config = $xml->fromFile($filename, true); or, simpler: $config = Zend\Config\Factory::fromFile($filename); - All constant injection removed from readers - New Processor API allows processing the retrieved configuration to do optional injection/manipulation of configuration values. - Ability to import other configuration files within a configuration file added. - Factory added, to simplify retrieving configuration from any configuration format supported. - New View layer (Matthew Weier O'Phinney) - View layer is now: - Models, for aggregating and representing data to render; models may be nested to represent complex view hierarchies - Renderers, which render templates, using either variables provided or Models - Resolvers, which resolve template names to resources a renderer may consume - View, which allows attaching strategies for determining the renderer to use, as well as how to inject the response when done. - Old Zend_View is now Zend\View\Renderer\PhpRenderer - Composes a Resolver, a PluginBroker (for helpers), a Variables container (for aggregating variables to pass to the view script), and a FilterChain (for output filtering). - render() now accepts View\Models - allows rendering stacks of templates under the same variable scope, via the addTemplate() mechanism - moves escaping to an Escape view helper; no auto-escaping is enabled - MVC integration - Strategy listeners for: - Handling and returning 404 pages - Handling and returning error pages due to exceptions - RAD support for creation and injection of view models from action controller return values - Addition of a "render" event, executing after "dispatch" and before "finish" - New Db layer (Ralph Schindler) - Complete rewrite from the ground up. - New architecture features low-level drivers, which also provide access to the PHP resource being consumed; adapters, which provide basic abstraction for common CRUD operations; new SQL abstraction layer, with full predicate support; abstraction for ResultSet's, with the ability to cast rows to specific object types; abstraction for SQL metadata; and a revised Table and Row Data Gateway. - New Zend\Service\AgileZen component (Enrico Zimuel) - Support for the full AgileZen (http://www.agilezen.com) API - Developed for use with http://framework.zend.com/zf2/board - PHP 5.4 support - A number of issues when running ZF2 under PHP 5.4 were identified and corrected. - Other components that received attention: - Zend\GData (Maks3w) - Zend\Navigation (Kyle Spraggs, Frank Brückner) - Zend\Session (Mike Willbanks) - Zend\Service\Technorati (Maks3w) - Zend\Service\StrikeIron (Maks3w) - Zend\Service\Twitter (Maks3w) - Zend\Http\Header\Accept* (Matthew Weier O'Phinney, Enrico Zimuel) - Adds support for q priority, level identifiers, and wildcard media and submedia types - Zend\Ldap (Maks3w, Stefah Gehrig) - Zend\Oauth (bakura10) - Zend\Mvc and Zend\Module (Evan Coury, many others) Around 200 pull requests for a variety of features and bugfixes were handled since beta2.
RELEASE INFORMATION --------------- Zend Framework 2.0.0beta2 THIS RELEASE IS A DEVELOPMENT RELEASE AND NOT INTENDED FOR PRODUCTION USE. PLEASE USE AT YOUR OWN RISK. This is the second in a series of planned beta releases. The beta release cycle will follow the "gmail" style of betas, whereby new features will be added in each new release, and BC will not be guaranteed; beta releases will happen approximately every six weeks. Once the established milestones have been reached and the featureset has reached maturity and reasonable stability, we will freeze the API and prepare for Release Candidate status. NEW FEATURES IN BETA2 --------------------- - Refactored Mail component - Does not change existing Storage API, except: - Zend\Mail\MailMessage was moved to Zend\Mail\Storage\MailMessage - Zend\Mail\MailPart was moved to Zend\Mail\Storage\MailPart - Zend\Mail\Message was moved to Zend\Mail\Storage\Message - Zend\Mail\Part was moved to Zend\Mail\Storage\Part - Zend\Mail\Mail was renamed to Zend\Mail\Message - Encapsulates a mail message and all headers - MIME messages are created by attaching a Zend\Mime\Message object as the mail message body - Added Zend\Mail\Address and Zend\Mail\AddressList - Used to represent single addresses and address collections, particularly within mail headers - Added Zend\Mail\Header\* and Zend\Mail\Headers - Representations of mail headers - Zend\Mail\Transport interface defines simply "send(Message $message)" - Smtp, File, and Sendmail transports rewritten to consume Message objects, and to introduce Options classes. - Refactored Zend\Cache - Completely rewritten component. - New API features storage adapters and adapter plugins for implementing cache storage and features such as serialization, clearing, and optimizing. - Current adapters include filesystem, APC, memcached, and memory. - All adapters can describe capabilities. - Plugins are implemented as event listeners. - New "Pattern" API created to simplify things like method, class, object, and output caching. - MVC updates - Zend\Module\Manager was stripped of most functionality; it now simply iterates requested modules and triggers events. - Former manager functionality such as class loading and instantiation, "init()" triggering, configuration gathering, and autoloader seeding were moved to event listeners. - Post-module loading configuration globbing support was added. - Simplifies story of overriding module configuration. - Recommended filesystem no longer uses plurals for directory names. - Recommendations now include a chdir(__DIR__ . '/../') from the public/index.php file, and specifying configuration paths to be relative to application directory. In addition, over 100 bug and feature requests were handled since beta1.
Zend Framework 2.0.0beta1 THIS RELEASE IS A DEVELOPMENT RELEASE AND NOT INTENDED FOR PRODUCTION USE. PLEASE USE AT YOUR OWN RISK. This is the first in a series of planned beta releases. The beta release cycle will follow the "gmail" style of betas, whereby new features will be added in each new release, and BC will not be guaranteed; beta releases will happen no less than every six weeks. Once the established milestones have been reached and the featureset has reached maturity and reasonable stability, we will freeze the API and prepare for Release Candidate status. NEW FEATURES ------------ - New and refactored autoloaders: - Zend\Loader\StandardAutoloader - Zend\Loader\ClassMapAutoloader - Zend\Loader\AutoloaderFactory - New plugin broker strategy - Zend\Loader\Broker and Zend\Loader\PluginBroker - Reworked Exception system - Allow catching by specific Exception type - Allow catching by component Exception type - Allow catching by SPL Exception type - Allow catching by base Exception type - Rewritten Session component - Refactored View component - Split helpers into a PluginBroker - Split variables into a Variables container - Split script paths into a TemplateResolver - Renamed base View class "PhpRenderer" - Refactored helpers to utilize __invoke() when possible - Refactored HTTP component - New Zend\Cloud\Infrastructure component - New EventManager component - New Dependency Injection (Zend\Di) component - New Code component - Incorporates refactored versions of former Reflection and CodeGenerator components. - Introduces Scanner component. - Introduces annotation system. - New MVC layer - Zend\Module, for developing modular application architectures. - Zend\Mvc, a completely reworked MVC layer built on top of HTTP, EventManager, and Di. - Introduces new packaging system, allowing the usage of Pyrus (http://pear2.php.net) to install individual components and/or groups of components.
Zend Framework 2.0.0dev4 Fourth development snapshot for Zend Framework 2.0. This snapshot includes: - The "Dispatchable" and related interfaces (Zend\Stdlib\Dispatchable, MessageDescription, RequestDescription, and ResponseDescription) - A fully refactored HTTP component - Rewritten URI component, with better and more extensible support for an array of different URI schemas, as well as more flexible path and parameter decomposition and serialization. - Adds HTTP versions of the Stdlib Request and Response interfaces, along with full-fledged support for standard HTTP headers. - A rewritten HTTP client that consumes Http\Request objects and produces Http\Response objects. - Two additional HTTP client implementations that provide a convenience API around the base HTTP client. One is static, and allows for simple one-off requests: $response = ClientStatic::get($uri); $response = ClientStatic::post( $uri, array('foo' => 'bar'), array('Content-Type' => ClientStatic::ENC_URENCODED) ); The other largely mimics the Zend Framework 1.X HTTP client, and proxies functionality to the Request object when appropriate. - Updated all docbook sources to DocBook 5 formatting standards. - Merging of more than 50 pull requests made by community members, ranging from one-liner documentation changes to sweeping fixes to the testing repository (including fixing most assertions deprecated in PHPUnit 3.5.0). We will be refactoring all components using the HTTP client in an upcoming milestone to ensure they continue to work, and will also post a blog entry and documentation page containing tips. This snapshot should NOT be used in production, as it is considered pre-pre alpha quality.
Tagged 2.0.0dev3 Contains: - EventManager - Initial DI component
Zend Framework 2.0.0dev2 Second development milestone for Zend Framework 2.0. This snapshot concludes two parallel milestones: - "Autoloading and Plugin Loading" - "Exceptions" See the milestones page for full details: http://framework.zend.com/wiki/display/ZFDEV2/Zend+Framework+2.0+Milestones The basic functionality added at this point include: - Several autoloading strategies, including class maps and PSR-0 style autoloading that uses explicit paths instead of the include_path. - Tools for generating class maps. - Removal of Zend\Loader::loadClass() and Zend\Loader\Autoloader in favor of the new solutions - Refactoring of the Resource autoloader to conform with the new autoloader interface - Addition of several plugin class resolution interfaces - Addition of an aliasing plugin class resolver - Refactoring of PluginLoader to PrefixPathLoader and usage of SplStack - Addition of a Broker interface, and a generic implementation, PluginBroker - Refactoring of all components that used PluginLoader previously to use class alias plugin resolvers with plugin brokers - Refactoring of Zend\View to make use of a plugin broker and filter chain Several pieces were left to refactor later, including: - Zend\Cache (in progress) - Zend\Form (likely will replace filters with FilterChain, validators with ValidatorChain, and implement a different rendering strategy) - View helpers (a "direct" strategy method is no longer necessary using a brokering strategy) This snapshot should NOT be used in production, as it is considered pre-pre alpha quality.
Zend Framework 2.0.0dev1 First development milestone for ZF 2.0.0. At this time, the ZF Quick Start can be completely implemented in ZF2, and a reference application containing authentication, ACLs, FlashMessenger, Markup, and more has been tested. While ZF2 cannot be considered of production quality, it is in a usable state at this time. CHANGELOG - require_once calls stripped - test suite refactored to remove AllTests.php files, unused test classes/files, and refactor conditional tests - ZF library switched to utilize PHP namespaces instead of vendor prefixes - Rewritten Zend\Session component - Added Zend\Stdlib component, with several utility classes, including: - FilterChain interface and reference implementation - Serializeable versions of SplQueue, SplStack, and SplPriorityQueue - Added Zend\SignalSlot, to standardize observers throughout framework; utilized internally in Zend\Session implementation for validation chains - Slight refactoring of Zend\Filter and Zend\Validation to separate chain and static call implementations - Renaming of several components (see working/PHPNamespacer-MappedClasses.xml for details) - Moved to Git for version control