Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'master' of git://github.com/zendframework/zf2 into string

  • Loading branch information...
commit 6c0f6989b9a06d77719049a3e7fcbc82b27e6d62 2 parents cd09a59 + 402074c
@marc-mabe authored
Showing with 1,141 additions and 22,426 deletions.
  1. +1 −0  .gitignore
  2. +0 −3  .gitmodules
  3. +7 −3 .travis.yml
  4. +0 −14 .travis/run-tests.sh
  5. +0 −7 .travis/skipped-components
  6. +0 −61 .travis/tested-components
  7. +2 −2 README-GIT.md
  8. +140 −143 README.md
  9. +3 −2 bin/classmap_generator.php
  10. +8 −7 bin/docbook_skeleton.php
  11. +7 −3 bin/pluginmap_generator.php
  12. +9 −6 composer.json
  13. BIN  documentation/manual/en/figures/zend.tool.framework.clihelp.png
  14. BIN  documentation/manual/en/figures/zend.tool.framework.cliversionunix.png
  15. BIN  documentation/manual/en/figures/zend.tool.framework.cliversionwin32.png
  16. +0 −5 documentation/manual/en/manual-print2.xml.in
  17. +240 −532 documentation/manual/en/manual.xml.in
  18. +0 −95 documentation/manual/en/module_specs/Zend_Acl-Advanced.xml
  19. +0 −181 documentation/manual/en/module_specs/Zend_Acl-Refining.xml
  20. +0 −384 documentation/manual/en/module_specs/Zend_Acl.xml
  21. +0 −475 documentation/manual/en/module_specs/Zend_Auth.xml
  22. +0 −361 documentation/manual/en/module_specs/Zend_Auth_Adapter_DbTable.xml
  23. +0 −123 documentation/manual/en/module_specs/Zend_Auth_Adapter_Digest.xml
  24. +0 −323 documentation/manual/en/module_specs/Zend_Auth_Adapter_Http.xml
  25. +0 −825 documentation/manual/en/module_specs/Zend_Auth_Adapter_Ldap.xml
  26. +0 −194 documentation/manual/en/module_specs/Zend_Barcode-Creation.xml
  27. +0 −13 documentation/manual/en/module_specs/Zend_Barcode-Introduction.xml
  28. +0 −383 documentation/manual/en/module_specs/Zend_Barcode-Objects.xml
  29. +0 −853 documentation/manual/en/module_specs/Zend_Barcode-Objects_Details.xml
  30. +0 −253 documentation/manual/en/module_specs/Zend_Barcode-Renderers.xml
  31. +0 −303 documentation/manual/en/module_specs/Zend_Captcha-Adapters.xml
  32. +0 −72 documentation/manual/en/module_specs/Zend_Captcha-Operation.xml
  33. +0 −22 documentation/manual/en/module_specs/Zend_Captcha.xml
  34. +11 −6 documentation/manual/en/module_specs/Zend_Config_Processor.xml
  35. +11 −0 documentation/manual/en/module_specs/Zend_Crypt_Password.xml
  36. +0 −135 documentation/manual/en/module_specs/Zend_Currency-Additional.xml
  37. +0 −119 documentation/manual/en/module_specs/Zend_Currency-Calculation.xml
  38. +0 −170 documentation/manual/en/module_specs/Zend_Currency-Description.xml
  39. +0 −106 documentation/manual/en/module_specs/Zend_Currency-Exchange.xml
  40. +0 −69 documentation/manual/en/module_specs/Zend_Currency-Introduction.xml
  41. +0 −115 documentation/manual/en/module_specs/Zend_Currency-Number.xml
  42. +0 −167 documentation/manual/en/module_specs/Zend_Currency-Options.xml
  43. +0 −86 documentation/manual/en/module_specs/Zend_Currency-Position.xml
  44. +0 −126 documentation/manual/en/module_specs/Zend_Currency-Usage.xml
  45. +0 −109 documentation/manual/en/module_specs/Zend_Currency-Value.xml
  46. +0 −339 documentation/manual/en/module_specs/Zend_Date-Additional.xml
  47. +0 −173 documentation/manual/en/module_specs/Zend_Date-Basic.xml
  48. +0 −1,651 documentation/manual/en/module_specs/Zend_Date-Constants.xml
  49. +0 −162 documentation/manual/en/module_specs/Zend_Date-Creation.xml
  50. +0 −161 documentation/manual/en/module_specs/Zend_Date-Introduction.xml
  51. +0 −1,096 documentation/manual/en/module_specs/Zend_Date-Overview.xml
  52. +0 −74 documentation/manual/en/module_specs/Zend_Date-Theory.xml
  53. +0 −397 documentation/manual/en/module_specs/Zend_Db-Adapter.xml
  54. +0 −627 documentation/manual/en/module_specs/Zend_Db-Sql.xml
  55. +0 −242 documentation/manual/en/module_specs/Zend_Db-TableGateway.xml
  56. +0 −293 documentation/manual/en/module_specs/Zend_Dom-Query.xml
  57. +0 −13 documentation/manual/en/module_specs/Zend_Dom.xml
  58. +12 −12 documentation/manual/en/module_specs/Zend_EventManager-EventManager.xml
  59. +0 −34 documentation/manual/en/module_specs/Zend_Exception-Basic.xml
  60. +4 −4 documentation/manual/en/module_specs/Zend_Feed_Reader.xml
  61. +5 −5 documentation/manual/en/module_specs/Zend_Feed_Writer.xml
  62. +1 −1  documentation/manual/en/module_specs/Zend_Filter-Alnum.xml
  63. +1 −1  documentation/manual/en/module_specs/Zend_Filter-Alpha.xml
  64. +0 −289 documentation/manual/en/module_specs/Zend_Filter-LocalizedToNormalized.xml
  65. +0 −1  documentation/manual/en/module_specs/Zend_Filter-Set.xml
  66. +1 −1  documentation/manual/en/module_specs/Zend_Filter_Input.xml
  67. +3 −3 documentation/manual/en/module_specs/Zend_Http_Request.xml
  68. +2 −2 documentation/manual/en/module_specs/Zend_Http_Response.xml
  69. +195 −0 documentation/manual/en/module_specs/Zend_I18n-Translating.xml
  70. +2 −2 documentation/manual/en/module_specs/Zend_Ldap-API-Ldap-Converter-Converter.xml
  71. +2 −2 documentation/manual/en/module_specs/Zend_Ldap-Introduction.xml
  72. +0 −196 documentation/manual/en/module_specs/Zend_Loader-Autoloader-Resource.xml
  73. +1 −0  documentation/manual/en/module_specs/Zend_Loader-AutoloaderFactory.xml
  74. +0 −210 documentation/manual/en/module_specs/Zend_Loader-Broker.xml
  75. +6 −4 documentation/manual/en/module_specs/Zend_Loader-ClassMapAutoloader.xml
  76. +1 −1  documentation/manual/en/module_specs/Zend_Loader-Classmap_Generator.xml
  77. +0 −503 documentation/manual/en/module_specs/Zend_Loader-PluginBroker.xml
  78. +11 −9 documentation/manual/en/module_specs/Zend_Loader-PluginClassLoader.xml
  79. +0 −130 documentation/manual/en/module_specs/Zend_Loader-PluginClassLocater.xml
  80. +131 −0 documentation/manual/en/module_specs/Zend_Loader-PluginClassLocator.xml
  81. +0 −240 documentation/manual/en/module_specs/Zend_Loader-PluginSpecBroker.xml
  82. +4 −2 documentation/manual/en/module_specs/Zend_Loader-PrefixPathLoader.xml
  83. +0 −152 documentation/manual/en/module_specs/Zend_Loader-ShortNameLocater.xml
  84. +152 −0 documentation/manual/en/module_specs/Zend_Loader-ShortNameLocator.xml
  85. +1 −0  documentation/manual/en/module_specs/Zend_Loader-SplAutoloader.xml
  86. +21 −6 documentation/manual/en/module_specs/Zend_Loader-StandardAutoloader.xml
  87. +0 −85 documentation/manual/en/module_specs/Zend_Loader.xml
  88. +0 −3,218 documentation/manual/en/module_specs/Zend_Locale-AppendixLanguages.xml
  89. +0 −481 documentation/manual/en/module_specs/Zend_Locale-DatesTimes.xml
  90. +0 −1,986 documentation/manual/en/module_specs/Zend_Locale-Functions.xml
  91. +0 −574 documentation/manual/en/module_specs/Zend_Locale-Introduction.xml
  92. +0 −521 documentation/manual/en/module_specs/Zend_Locale-Parsing.xml
  93. +1 −1  documentation/manual/en/module_specs/Zend_Mail-AdditionalHeaders.xml
  94. +0 −121 documentation/manual/en/module_specs/Zend_Measure-Creation.xml
  95. +0 −270 documentation/manual/en/module_specs/Zend_Measure-Edit.xml
  96. +0 −61 documentation/manual/en/module_specs/Zend_Measure-Introduction.xml
  97. +0 −117 documentation/manual/en/module_specs/Zend_Measure-Output.xml
  98. +0 −393 documentation/manual/en/module_specs/Zend_Measure-Types.xml
  99. +14 −14 documentation/manual/en/module_specs/Zend_Mvc-Controllers.xml
  100. +7 −7 documentation/manual/en/module_specs/Zend_Mvc-Examples.xml
  101. +4 −4 documentation/manual/en/module_specs/Zend_Mvc-Plugins.xml
  102. +87 −23 documentation/manual/en/module_specs/Zend_Mvc-QuickStart.xml
  103. +29 −3 documentation/manual/en/module_specs/Zend_Mvc-Routing.xml
  104. +0 −94 documentation/manual/en/module_specs/Zend_Reflection-Examples.xml
  105. +0 −62 documentation/manual/en/module_specs/Zend_Reflection-Introduction.xml
  106. +0 −487 documentation/manual/en/module_specs/Zend_Reflection-Reference.xml
  107. +0 −6 documentation/manual/en/module_specs/Zend_Service.xml
  108. +1 −1  documentation/manual/en/module_specs/Zend_Service_Delicious.xml
  109. +3 −3 documentation/manual/en/module_specs/Zend_Service_LiveDocx.xml
Sorry, we could not display the entire diff because too many files (3,919) changed.
View
1  .gitignore
@@ -5,3 +5,4 @@ nbproject
.settings/
tmp/
.DS_Store
+composer.lock
View
3  .gitmodules
@@ -1,3 +0,0 @@
-[submodule "tools/phptools"]
- path = tools/phptools
- url = git://github.com/ralphschindler/PHPTools.git
View
10 .travis.yml
@@ -5,9 +5,13 @@ php:
- 5.3
- 5.4
-before_install: cp tests/TravisTestConfiguration.php tests/TestConfiguration.php
+before_install:
+ - cp tests/TestConfiguration.php.travis tests/TestConfiguration.php
+ - curl -s http://getcomposer.org/installer | php
+ - php composer.phar install --dev
-script: ./.travis/run-tests.sh
+script:
+ - php ./tests/run-tests.php
notifications:
- irc: "irc.freenode.org#zftalk.2"
+ irc: "irc.freenode.org#zftalk.2"
View
14 .travis/run-tests.sh
@@ -1,14 +0,0 @@
-#!/bin/bash
-travisdir=$(dirname "$0")
-testdir="$travisdir/../tests"
-testedcomponents=(`cat "$travisdir/tested-components"`)
-result=0
-
-for tested in "${testedcomponents[@]}"
- do
- echo "$tested:"
- phpunit -c $testdir/phpunit.xml.dist $testdir/$tested
- result=$(($result || $?))
-done
-
-exit $result
View
7 .travis/skipped-components
@@ -1,7 +0,0 @@
-Zend/Amf
-Zend/Date
-Zend/Dojo
-Zend/Queue
-Zend/Service
-Zend/Test
-Zend/Wildfire
View
61 .travis/tested-components
@@ -1,61 +0,0 @@
-Zend/Acl
-Zend/Authentication
-Zend/Barcode
-Zend/Cache
-Zend/Captcha
-Zend/Cloud
-Zend/Code
-Zend/Config
-Zend/Console
-Zend/Crypt
-Zend/Currency
-Zend/Db
-Zend/Di
-Zend/DocBook
-Zend/Dojo
-Zend/Dom
-Zend/EventManager
-Zend/Feed
-Zend/File
-Zend/Filter
-Zend/Form
-Zend/GData
-Zend/Http
-Zend/InfoCard
-Zend/InputFilter
-Zend/Json
-Zend/Ldap
-Zend/Loader
-Zend/Locale
-Zend/Log
-Zend/Mail
-Zend/Markup
-Zend/Math
-Zend/Measure
-Zend/Memory
-Zend/Mime
-Zend/ModuleManager
-Zend/Mvc
-Zend/Navigation
-Zend/OAuth
-Zend/OpenId
-Zend/Paginator
-Zend/Pdf
-Zend/ProgressBar
-Zend/RegistryTest.php
-Zend/Rest
-Zend/Search
-Zend/Serializer
-Zend/Server
-Zend/Session
-Zend/Soap
-Zend/Stdlib
-Zend/Tag
-Zend/Text
-Zend/TimeSync
-Zend/Translator
-Zend/Uri
-Zend/Validator
-Zend/VersionTest.php
-Zend/View
-Zend/XmlRpc
View
4 README-GIT.md
@@ -84,14 +84,14 @@ repository.
5. Create a new branch for the ZF repository (named "zf/master" here)
```sh
- % git branch -b zf/master zf2/master
+ % git checkout -b zf/master zf2/master
```
6. Create your master branch off the ZF branch, and push to your
repository
```sh
- % git branch -b master
+ % git checkout -b master
% git push origin HEAD:master
```
View
283 README.md
@@ -4,155 +4,152 @@ Master: [![Build Status](https://secure.travis-ci.org/zendframework/zf2.png?bran
## RELEASE INFORMATION
-*Zend Framework 2.0.0beta4*
+*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 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.
-
-### NEW FEATURES IN BETA4
-
-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/
+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).
+
+### NEW FEATURES IN BETA5
+
+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 beta3!
+since beta4!
### SYSTEM REQUIREMENTS
View
5 bin/classmap_generator.php 100644 → 100755
@@ -1,3 +1,4 @@
+#!/usr/bin/env php
<?php
/**
* Zend Framework
@@ -55,7 +56,7 @@
$libraryPath = getcwd();
// Setup autoloading
-$loader = new StandardAutoloader();
+$loader = new StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
$rules = array(
@@ -160,7 +161,7 @@
// Iterate over each element in the path, and create a map of
// classname => filename, where the filename is relative to the library path
-$map = new \stdClass;
+$map = new stdClass;
foreach ($l as $file) {
$namespace = empty($file->namespace) ? '' : $file->namespace . '\\';
$filename = str_replace($libraryPath . '/', '', str_replace(DIRECTORY_SEPARATOR, '/', $file->getPath()) . '/' . $file->getFilename());
View
15 bin/docbook_skeleton.php
@@ -20,6 +20,12 @@
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
+use Zend\Console;
+use Zend\DocBook\ClassParser;
+use Zend\DocBook\SkeletonGenerator;
+use Zend\Code\Reflection\ClassReflection as ReflectionClass;
+use Zend\Loader\StandardAutoloader;
+
/**
* Generate Docbook XML skeleton for a given class as a documentation stub.
*
@@ -36,11 +42,6 @@
* "zend.component.class-name.xml")
*/
-use Zend\Console\Getopt,
- Zend\DocBook\ClassParser,
- Zend\DocBook\SkeletonGenerator,
- Zend\Code\Reflection\ClassReflection as ReflectionClass;
-
$libPath = getenv('LIB_PATH') ? getenv('LIB_PATH') : __DIR__ . '/../library';
if (!is_dir($libPath)) {
// Try to load StandardAutoloader from include_path
@@ -57,7 +58,7 @@
}
// Setup autoloading
-$loader = new Zend\Loader\StandardAutoloader();
+$loader = new StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
$rules = array(
@@ -73,7 +74,7 @@
try {
$opts = new Zend\Console\Getopt($rules);
$opts->parse();
-} catch (Zend\Console\Getopt\Exception $e) {
+} catch (Console\Exception\RuntimeException $e) {
// Error creating or parsing options; show usage message
echo $e->getUsageMessage();
exit(2);
View
10 bin/pluginmap_generator.php 100644 → 100755
@@ -1,3 +1,4 @@
+#!/usr/bin/env php
<?php
/**
* Zend Framework
@@ -19,6 +20,9 @@
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
+use Zend\Console;
+use Zend\Loader\StandardAutoloader;
+
/**
* Generate class maps for use with autoloading.
*
@@ -49,7 +53,7 @@
}
// Setup autoloading
-$loader = new Zend\Loader\StandardAutoloader();
+$loader = new StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
$rules = array(
@@ -61,9 +65,9 @@
);
try {
- $opts = new Zend\Console\Getopt($rules);
+ $opts = new Console\Getopt($rules);
$opts->parse();
-} catch (Zend\Console\Getopt\Exception $e) {
+} catch (Console\Exception\RuntimeException $e) {
echo $e->getUsageMessage();
exit(2);
}
View
15 composer.json
@@ -7,9 +7,16 @@
"zf2"
],
"homepage": "http://framework.zend.com/",
+ "license": "BSD-3-Clause",
"require": {
"php": ">=5.3.3"
},
+ "require-dev": {
+ "doctrine/common": ">=2.1"
+ },
+ "suggest": {
+ "doctrine/common": "Doctrine\\Common >=2.1 for annotation features"
+ },
"autoload": {
"psr-0": {
"Zend": "library/"
@@ -30,13 +37,12 @@
"zendframework/zend-config": "self.version",
"zendframework/zend-console": "self.version",
"zendframework/zend-crypt": "self.version",
- "zendframework/zend-currency": "self.version",
- "zendframework/zend-date": "self.version",
"zendframework/zend-db": "self.version",
"zendframework/zend-di": "self.version",
"zendframework/zend-docbook": "self.version",
"zendframework/zend-dojo": "self.version",
"zendframework/zend-dom": "self.version",
+ "zendframework/zend-escaper": "self.version",
"zendframework/zend-eventmanager": "self.version",
"zendframework/zend-feed": "self.version",
"zendframework/zend-file": "self.version",
@@ -44,17 +50,16 @@
"zendframework/zend-form": "self.version",
"zendframework/zend-gdata": "self.version",
"zendframework/zend-http": "self.version",
+ "zendframework/zend-i18n": "self.version",
"zendframework/zend-infocard": "self.version",
"zendframework/zend-inputfilter": "self.version",
"zendframework/zend-json": "self.version",
"zendframework/zend-ldap": "self.version",
"zendframework/zend-loader": "self.version",
- "zendframework/zend-locale": "self.version",
"zendframework/zend-log": "self.version",
"zendframework/zend-mail": "self.version",
"zendframework/zend-markup": "self.version",
"zendframework/zend-math": "self.version",
- "zendframework/zend-measure": "self.version",
"zendframework/zend-memory": "self.version",
"zendframework/zend-mime": "self.version",
"zendframework/zend-modulemanager": "self.version",
@@ -87,7 +92,6 @@
"zendframework/zend-service-technorati": "self.version",
"zendframework/zend-service-twitter": "self.version",
"zendframework/zend-service-windowsazure": "self.version",
- "zendframework/zend-service-yahoo": "self.version",
"zendframework/zend-servicemanager": "self.version",
"zendframework/zend-session": "self.version",
"zendframework/zend-soap": "self.version",
@@ -96,7 +100,6 @@
"zendframework/zend-test": "self.version",
"zendframework/zend-text": "self.version",
"zendframework/zend-timesync": "self.version",
- "zendframework/zend-translator": "self.version",
"zendframework/zend-uri": "self.version",
"zendframework/zend-validator": "self.version",
"zendframework/zend-view": "self.version",
View
BIN  documentation/manual/en/figures/zend.tool.framework.clihelp.png
Deleted file not rendered
View
BIN  documentation/manual/en/figures/zend.tool.framework.cliversionunix.png
Deleted file not rendered
View
BIN  documentation/manual/en/figures/zend.tool.framework.cliversionwin32.png
Deleted file not rendered
View
5 documentation/manual/en/manual-print2.xml.in
@@ -852,11 +852,6 @@
<!--<xi:include href="../en/module_specs/Zend_Service_WindowsAzure_Table.xml" parse="xml"/>-->
<!--</xi:fallback>-->
<!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Service_Yahoo.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Service_Yahoo.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
<!--</chapter>-->
<!--<chapter xml:id="zend.session"><title>Zend_Session</title>-->
View
772 documentation/manual/en/manual.xml.in
@@ -294,24 +294,23 @@
<part xml:id="reference">
<title>&part.reference.title;</title>
- <!--<chapter xml:id="zend.acl"><title>Zend_Acl</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Acl.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Acl.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Acl-Refining.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Acl-Refining.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Acl-Advanced.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Acl-Advanced.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.acl"><title>Zend\Acl</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.acl.intro.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.acl.intro.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.acl.refining.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.acl.refining.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.acl.advanced.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.acl.advanced.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<!--<chapter xml:id="zend.amf"><title>Zend_Amf</title>-->
<!---->
@@ -327,97 +326,61 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.application"><title>Zend_Application</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-QuickStart.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-QuickStart.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-TheoryOfOperation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-TheoryOfOperation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-Examples.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-Examples.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-CoreFunctionality.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-CoreFunctionality.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Application-AvailableResources.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Application-AvailableResources.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
- <!--<chapter xml:id="zend.auth"><title>Zend_Auth</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Auth.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth_Adapter_DbTable.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Auth_Adapter_DbTable.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth_Adapter_Digest.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Auth_Adapter_Digest.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth_Adapter_Http.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Auth_Adapter_Http.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth_Adapter_Ldap.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Auth_Adapter_Ldap.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
+ <chapter xml:id="zend.authentication"><title>Zend\Authentication</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.authentication.intro.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.authentication.intro.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.authentication.adapter.dbtable.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.authentication.adapter.dbtable.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.authentication.adapter.digest.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.authentication.adapter.digest.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.authentication.adapter.http.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.authentication.adapter.http.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.authentication.adapter.ldap.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.authentication.adapter.ldap.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Auth_Adapter_OpenId.xml" parse="xml">-->
<!--<xi:fallback>-->
<!--<xi:include href="../en/module_specs/Zend_Auth_Adapter_OpenId.xml" parse="xml"/>-->
<!--</xi:fallback>-->
<!--</xi:include>-->
- <!--</chapter>-->
+ </chapter>
- <!--<chapter xml:id="zend.barcode"><title>Zend_Barcode</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Barcode-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Barcode-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Barcode-Creation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Barcode-Creation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Barcode-Objects.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Barcode-Objects.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Barcode-Renderers.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Barcode-Renderers.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.barcode"><title>Zend\Barcode</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.barcode.intro.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.barcode.intro.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.barcode.creation.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.barcode.creation.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.barcode.objects.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.barcode.objects.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.barcode.renderers.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.barcode.renderers.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<chapter xml:id="zend.cache"><title>Zend\Cache</title>
@@ -478,24 +441,23 @@
<!--</xi:include>-->
</chapter>
- <!--<chapter xml:id="zend.captcha"><title>Zend_Captcha</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Captcha.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Captcha.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Captcha-Operation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Captcha-Operation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Captcha-Adapters.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Captcha-Adapters.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.captcha"><title>Zend\Captcha</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.captcha.intro.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.captcha.intro.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.captcha.operation.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.captcha.operation.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.captcha.adapters.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.captcha.adapters.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<!--<chapter xml:id="zend.cloud">-->
<!--<title>Zend_Cloud</title>-->
@@ -584,70 +546,6 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.controller"><title>Zend_Controller</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-QuickStart.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-QuickStart.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Basics.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Basics.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-FrontController.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-FrontController.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Request.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Request.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Router.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Router.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Dispatcher.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Dispatcher.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-ActionController.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-ActionController.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-ActionHelpers.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-ActionHelpers.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Response.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Response.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Plugins.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Plugins.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Modular.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Modular.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Controller-Exceptions.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Controller-Exceptions.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
<chapter xml:id="zend.crypt"><title>Zend_Crypt</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Crypt-Introduction.xml" parse="xml">
@@ -672,117 +570,42 @@
</xi:include>
</chapter>
- <!--<chapter xml:id="zend.currency"><title>Zend_Currency</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Usage.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Usage.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Options.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Options.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Description.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Description.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Position.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Position.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Number.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Number.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Value.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Value.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Calculation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Calculation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Exchange.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Exchange.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Currency-Additional.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Currency-Additional.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
- <!--<chapter xml:id="zend.date"><title>Zend_Date</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Theory.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Theory.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Basic.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Basic.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Overview.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Overview.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Creation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Creation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Constants.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Constants.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Date-Additional.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Date-Additional.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
<chapter xml:id="zend.db">
<title>Zend_Db</title>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Db-Adapter.xml" parse="xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.adapter.xml" parse="xml">
<xi:fallback>
- <xi:include href="../en/module_specs/Zend_Db-Adapter.xml" parse="xml"/>
+ <xi:include href="../en/module_specs/zend.db.adapter.xml" parse="xml"/>
</xi:fallback>
</xi:include>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Db-Sql.xml" parse="xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.result-set.xml" parse="xml">
<xi:fallback>
- <xi:include href="../en/module_specs/Zend_Db-Sql.xml" parse="xml"/>
+ <xi:include href="../en/module_specs/zend.db.result-set.xml" parse="xml"/>
</xi:fallback>
</xi:include>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Db-TableGateway.xml" parse="xml">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.sql.xml" parse="xml">
<xi:fallback>
- <xi:include href="../en/module_specs/Zend_Db-TableGateway.xml" parse="xml"/>
+ <xi:include href="../en/module_specs/zend.db.sql.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.table-gateway.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.db.table-gateway.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.row-gateway.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.db.row-gateway.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.db.metadata.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.db.metadata.xml" parse="xml"/>
</xi:fallback>
</xi:include>
</chapter>
@@ -837,19 +660,18 @@
</chapter>
- <!--<chapter xml:id="zend.dom"><title>Zend_Dom</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Dom.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Dom.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Dom-Query.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Dom-Query.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.dom"><title>Zend\Dom</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.dom.intro.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.dom.intro.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.dom.query.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.dom.query.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<chapter xml:id="zend.event-manager">
<title>Zend\EventManager</title>
@@ -1123,6 +945,20 @@
</chapter>
+ <chapter xml:id="zend.i18n"><title>Zend_I18n</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_I18n-Translating.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_I18n-Translating.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.i18n.view.helpers.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.i18n.view.helpers.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
+
<!--<chapter xml:id="zend.infocard"><title>Zend_InfoCard</title>-->
<!---->
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_InfoCard-Basics.xml" parse="xml">-->
@@ -1210,38 +1046,69 @@
</xi:include>
</chapter>
- <!--<chapter xml:id="zend.loader"><title>Zend_Loader</title>
+ <chapter xml:id="zend.loader">
+ <title>Zend\Loader</title>
- </chapter>-->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-AutoloaderFactory.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-AutoloaderFactory.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
- <!--<chapter xml:id="zend.locale"><title>Zend_Locale</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Locale-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Locale-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Locale-Functions.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Locale-Functions.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Locale-Parsing.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Locale-Parsing.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Locale-DatesTimes.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Locale-DatesTimes.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Locale-AppendixLanguages.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Locale-AppendixLanguages.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-PluginClassLoader.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-PluginClassLoader.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-ShortNameLocator.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-ShortNameLocator.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-PluginClassLocator.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-PluginClassLocator.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-SplAutoloader.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-SplAutoloader.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-ClassMapAutoloader.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-ClassMapAutoloader.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-StandardAutoloader.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-StandardAutoloader.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-Classmap_Generator.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-Classmap_Generator.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-PrefixPathLoader.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-PrefixPathLoader.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Loader-PrefixPathMapper.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/Zend_Loader-PrefixPathMapper.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<!--<chapter xml:id="zend.log"><title>Zend_Log</title>-->
<!---->
@@ -1395,35 +1262,6 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.measure"><title>Zend_Measure</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Measure-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Measure-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Measure-Creation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Measure-Creation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Measure-Output.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Measure-Output.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Measure-Edit.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Measure-Edit.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Measure-Types.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Measure-Types.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
<!--<chapter xml:id="zend.memory"><title>Zend_Memory</title>-->
<!---->
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Memory-Overview.xml" parse="xml">-->
@@ -1706,25 +1544,6 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.reflection"><title>Zend_Reflection</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Reflection-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Reflection-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Reflection-Examples.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Reflection-Examples.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Reflection-Reference.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Reflection-Reference.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
<!--<chapter xml:id="zend.registry"><title>Zend_Registry</title>-->
<!---->
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Registry.xml" parse="xml">-->
@@ -2023,11 +1842,6 @@
<!--<xi:include href="../en/module_specs/Zend_Service_WindowsAzure_Table.xml" parse="xml"/>-->
<!--</xi:fallback>-->
<!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Service_Yahoo.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Service_Yahoo.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
<!--</chapter>-->
<chapter xml:id="zend.service-manager">
@@ -2174,112 +1988,6 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.tool"><title>Zend_Tool</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool-Usage-CLI.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool-Usage-CLI.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool-Extending.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool-Extending.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
- <!--<chapter xml:id="zend.tool.framework"><title>Zend_Tool_Framework</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-CliTool.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-CliTool.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-Architecture.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-Architecture.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-WritingProviders.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-WritingProviders.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-SystemProviders.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-SystemProviders.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Framework-Extending.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Framework-Extending.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
- <!--<chapter xml:id="zend.tool.project"><title>Zend_Tool_Project</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Project.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Project.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Project-CreateProject.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Project-CreateProject.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Project-Providers.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Project-Providers.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Tool_Project-Internals.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Tool_Project-Internals.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
- <!--<chapter xml:id="zend.translate"><title>Zend_Translate</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-Introduction.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-Introduction.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-Adapters.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-Adapters.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-Using.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-Using.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-SourceCreation.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-SourceCreation.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-Additional.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-Additional.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Translate-Plurals.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Translate-Plurals.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
-
<chapter xml:id="zend.uri"><title>Zend_Uri</title>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Uri.xml" parse="xml">
@@ -2289,34 +1997,35 @@
</xi:include>
</chapter>
- <!--<chapter xml:id="zend.validate"><title>Zend_Validate</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Validate.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Validate.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Validate-Set.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Validate-Set.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Validate-ValidatorChains.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Validate-ValidatorChains.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Validate-WritingValidators.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Validate-WritingValidators.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_Validate-Messages.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_Validate-Messages.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.validator">
+ <title>Zend\Validator</title>
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.validator.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.validator.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.validator.set.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.validator.set.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.validator.validatorChains.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.validator.validatorChains.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.validator.writingValidators.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.validator.writingValidators.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.validator.messages.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.validator.messages.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
<!--<chapter xml:id="zend.version"><title>Zend_Version</title>-->
<!---->
@@ -2364,24 +2073,23 @@
<!--</xi:include>-->
<!--</chapter>-->
- <!--<chapter xml:id="zend.xmlrpc"><title>Zend_XmlRpc</title>-->
- <!---->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_XmlRpc.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_XmlRpc.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_XmlRpc_Client.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_XmlRpc_Client.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/Zend_XmlRpc_Server.xml" parse="xml">-->
- <!--<xi:fallback>-->
- <!--<xi:include href="../en/module_specs/Zend_XmlRpc_Server.xml" parse="xml"/>-->
- <!--</xi:fallback>-->
- <!--</xi:include>-->
- <!--</chapter>-->
+ <chapter xml:id="zend.xmlrpc"><title>Zend_XmlRpc</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.xmlrpc.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.xmlrpc.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.xmlrpc.client.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.xmlrpc.client.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="module_specs/zend.xmlrpc.server.xml" parse="xml">
+ <xi:fallback>
+ <xi:include href="../en/module_specs/zend.xmlrpc.server.xml" parse="xml"/>
+ </xi:fallback>
+ </xi:include>
+ </chapter>
</part>
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ref/requirements.xml" parse="xml">-->
View
95 documentation/manual/en/module_specs/Zend_Acl-Advanced.xml
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="zend.acl.advanced"><title>Advanced Usage</title>
-
-
- <section xml:id="zend.acl.advanced.storing"><title>Storing ACL Data for Persistence</title>
-
-
- <para>
- <classname>Zend_Acl</classname> was designed in such a way that it does not require any
- particular backend technology such as a database or cache server for storage of the
- <acronym>ACL</acronym> data. Its complete <acronym>PHP</acronym> implementation enables
- customized administration tools to be built upon <classname>Zend_Acl</classname> with
- relative ease and flexibility. Many situations require some form of interactive
- maintenance of the <acronym>ACL</acronym>, and <classname>Zend_Acl</classname> provides
- methods for setting up, and querying against, the access controls of an application.
- </para>
-
- <para>
- Storage of <acronym>ACL</acronym> data is therefore left as a task for the developer,
- since use cases are expected to vary widely for various situations. Because
- <classname>Zend_Acl</classname> is serializable, <acronym>ACL</acronym> objects may be
- serialized with <acronym>PHP</acronym>'s <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://php.net/serialize">
- <methodname>serialize()</methodname></link> function, and the results may be
- stored anywhere the developer should desire, such as a file, database, or caching
- mechanism.
- </para>
- </section>
-
- <section xml:id="zend.acl.advanced.assertions"><title>Writing Conditional ACL Rules with Assertions</title>
-
-
- <para>
- Sometimes a rule for allowing or denying a role access to a resource should not be
- absolute but dependent upon various criteria. For example, suppose that certain access
- should be allowed, but only between the hours of 8:00am and 5:00pm. Another example
- would be denying access because a request comes from an IP address that has been
- flagged as a source of abuse. <classname>Zend_Acl</classname> has built-in support for
- implementing rules based on whatever conditions the developer needs.
- </para>
-
- <para>
- <classname>Zend_Acl</classname> provides support for conditional rules with
- <classname>Zend_Acl_Assert_Interface</classname>. In order to use the rule assertion
- interface, a developer writes a class that implements the
- <methodname>assert()</methodname> method of the interface:
- </para>
-
- <programlisting language="php"><![CDATA[
-class CleanIPAssertion implements Zend_Acl_Assert_Interface
-{
- public function assert(Zend_Acl $acl,
- Zend_Acl_Role_Interface $role = null,
- Zend_Acl_Resource_Interface $resource = null,
- $privilege = null)
- {
- return $this->_isCleanIP($_SERVER['REMOTE_ADDR']);
- }
-
- protected function _isCleanIP($ip)
- {
- // ...
- }
-}
-]]></programlisting>
-
- <para>
- Once an assertion class is available, the developer must supply an instance of the
- assertion class when assigning conditional rules. A rule that is created with an
- assertion only applies when the assertion method returns <constant>TRUE</constant>.
- </para>
-
- <programlisting language="php"><![CDATA[
-$acl = new Zend_Acl();
-$acl->allow(null, null, null, new CleanIPAssertion());
-]]></programlisting>
-
- <para>
- The above code creates a conditional allow rule that allows access to all privileges
- on everything by everyone, except when the requesting IP is "blacklisted." If a request
- comes in from an IP that is not considered "clean," then the allow rule does not apply.
- Since the rule applies to all roles, all resources, and all privileges, an "unclean" IP
- would result in a denial of access. This is a special case, however, and it should be
- understood that in all other cases (i.e., where a specific role, resource, or privilege
- is specified for the rule), a failed assertion results in the rule not applying, and
- other rules would be used to determine whether access is allowed or denied.
- </para>
-
- <para>
- The <methodname>assert()</methodname> method of an assertion object is passed the
- <acronym>ACL</acronym>, role, resource, and privilege to which the authorization query
- (i.e., <methodname>isAllowed()</methodname>) applies, in order to provide a context for
- the assertion class to determine its conditions where needed.
- </para>
- </section>
-</section>
View
181 documentation/manual/en/module_specs/Zend_Acl-Refining.xml
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="zend.acl.refining"><title>Refining Access Controls</title>
-
-
- <section xml:id="zend.acl.refining.precise"><title>Precise Access Controls</title>
-
-
- <para>
- The basic <acronym>ACL</acronym> as defined in the
- <link linkend="zend.acl.introduction">previous section</link> shows how various
- privileges may be allowed upon the entire <acronym>ACL</acronym> (all resources). In
- practice, however, access controls tend to have exceptions and varying degrees of
- complexity. <classname>Zend_Acl</classname> allows to you accomplish these refinements
- in a straightforward and flexible manner.
- </para>
-
- <para>
- For the example <acronym>CMS</acronym>, it has been determined that whilst the 'staff'
- group covers the needs of the vast majority of users, there is a need for a new
- 'marketing' group that requires access to the newsletter and latest news in the
- <acronym>CMS</acronym>. The group is fairly self-sufficient and will have the ability
- to publish and archive both newsletters and the latest news.
- </para>
-
- <para>
- In addition, it has also been requested that the 'staff' group be allowed to view news
- stories but not to revise the latest news. Finally, it should be impossible for anyone
- (administrators included) to archive any 'announcement' news stories since they only
- have a lifespan of 1-2 days.
- </para>
-
- <para>
- First we revise the role registry to reflect these changes. We have determined that the
- 'marketing' group has the same basic permissions as 'staff', so we define 'marketing'
- in such a way that it inherits permissions from 'staff':
- </para>
-
- <programlisting language="php"><![CDATA[
-// The new marketing group inherits permissions from staff
-$acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
-]]></programlisting>
-
- <para>
- Next, note that the above access controls refer to specific resources (e.g.,
- "newsletter", "latest news", "announcement news"). Now we add these resources:
- </para>
-
- <programlisting language="php"><![CDATA[
-// Create Resources for the rules
-
-// newsletter
-$acl->addResource(new Zend_Acl_Resource('newsletter'));
-
-// news
-$acl->addResource(new Zend_Acl_Resource('news'));
-
-// latest news
-$acl->addResource(new Zend_Acl_Resource('latest'), 'news');
-
-// announcement news
-$acl->addResource(new Zend_Acl_Resource('announcement'), 'news');
-]]></programlisting>
-
- <para>
- Then it is simply a matter of defining these more specific rules on the target areas of
- the <acronym>ACL</acronym>:
- </para>
-
- <programlisting language="php"><![CDATA[
-// Marketing must be able to publish and archive newsletters and the
-// latest news
-$acl->allow('marketing',
- array('newsletter', 'latest'),
- array('publish', 'archive'));
-
-// Staff (and marketing, by inheritance), are denied permission to
-// revise the latest news
-$acl->deny('staff', 'latest', 'revise');
-
-// Everyone (including administrators) are denied permission to
-// archive news announcements
-$acl->deny(null, 'announcement', 'archive');
-]]></programlisting>
-
- <para>
- We can now query the <acronym>ACL</acronym> with respect to the latest changes:
- </para>
-
- <programlisting language="php"><![CDATA[
-echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('marketing', 'newsletter', 'publish') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('staff', 'latest', 'publish') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('marketing', 'latest', 'publish') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('marketing', 'latest', 'archive') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('marketing', 'latest', 'revise') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('editor', 'announcement', 'archive') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('administrator', 'announcement', 'archive') ?
- "allowed" : "denied";
-// denied
-]]></programlisting>
- </section>
-
- <section xml:id="zend.acl.refining.removing"><title>Removing Access Controls</title>
-
-
- <para>
- To remove one or more access rules from the <acronym>ACL</acronym>, simply use the
- available <methodname>removeAllow()</methodname> or
- <methodname>removeDeny()</methodname> methods. As with <methodname>allow()</methodname>
- and <methodname>deny()</methodname>, you may provide a <constant>NULL</constant> value
- to indicate application to all roles, resources, and/or privileges:
- </para>
-
- <programlisting language="php"><![CDATA[
-// Remove the denial of revising latest news to staff (and marketing,
-// by inheritance)
-$acl->removeDeny('staff', 'latest', 'revise');
-
-echo $acl->isAllowed('marketing', 'latest', 'revise') ?
- "allowed" : "denied";
-// allowed
-
-// Remove the allowance of publishing and archiving newsletters to
-// marketing
-$acl->removeAllow('marketing',
- 'newsletter',
- array('publish', 'archive'));
-
-echo $acl->isAllowed('marketing', 'newsletter', 'publish') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
- "allowed" : "denied";
-// denied
-]]></programlisting>
-
- <para>
- Privileges may be modified incrementally as indicated above, but a
- <constant>NULL</constant> value for the privileges overrides such incremental changes:
- </para>
-
- <programlisting language="php"><![CDATA[
-// Allow marketing all permissions upon the latest news
-$acl->allow('marketing', 'latest');
-
-echo $acl->isAllowed('marketing', 'latest', 'publish') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('marketing', 'latest', 'archive') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('marketing', 'latest', 'anything') ?
- "allowed" : "denied";
-// allowed
-]]></programlisting>
- </section>
-</section>
View
384 documentation/manual/en/module_specs/Zend_Acl.xml
@@ -1,384 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="zend.acl.introduction"><title>Introduction</title>
-
-
- <para>
- <classname>Zend_Acl</classname> provides a lightweight and flexible access control list
- (<acronym>ACL</acronym>) implementation for privileges management. In general, an
- application may utilize such <acronym>ACL</acronym>'s to control access to certain
- protected objects by other requesting objects.
- </para>
-
- <para>
- For the purposes of this documentation:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- a <emphasis>resource</emphasis> is an object
- to which access is controlled.
- </para>
- </listitem>
-
- <listitem>
- <para>
- a <emphasis>role</emphasis> is an object
- that may request access to a Resource.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Put simply, <emphasis>roles request access to resources</emphasis>. For
- example, if a parking attendant requests access to a car, then the parking attendant is the
- requesting role, and the car is the resource, since access to the car may not be granted to
- everyone.
- </para>
-
- <para>
- Through the specification and use of an <acronym>ACL</acronym>, an application may control
- how roles are granted access to resources.
- </para>
-
- <section xml:id="zend.acl.introduction.resources"><title>Resources</title>
-
-
- <para>
- Creating a resource in <classname>Zend_Acl</classname> is very simple.
- <classname>Zend_Acl</classname> provides the resource,
- <classname>Zend_Acl_Resource_Interface</classname>, to facilitate creating resources in
- an application. A class need only implement this interface, which consists of a single
- method, <methodname>getResourceId()</methodname>, for <classname>Zend_Acl</classname> to
- recognize the object as a resource. Additionally,
- <classname>Zend_Acl_Resource</classname> is provided by <classname>Zend_Acl</classname>
- as a basic resource implementation for developers to extend as needed.
- </para>
-
- <para>
- <classname>Zend_Acl</classname> provides a tree structure to which multiple resources
- can be added. Since resources are stored in such a tree structure, they can be
- organized from the general (toward the tree root) to the specific (toward the tree
- leaves). Queries on a specific resource will automatically search the resource's
- hierarchy for rules assigned to ancestor resources, allowing for simple inheritance of
- rules. For example, if a default rule is to be applied to each building in a city, one
- would simply assign the rule to the city, instead of assigning the same rule to each
- building. Some buildings may require exceptions to such a rule, however, and this can
- be achieved in <classname>Zend_Acl</classname> by assigning such exception rules to
- each building that requires such an exception. A resource may inherit from only one
- parent resource, though this parent resource can have its own parent resource, etc.
- </para>
-
- <para>
- <classname>Zend_Acl</classname> also supports privileges on resources (e.g., "create",
- "read", "update", "delete"), so the developer can assign rules that affect all
- privileges or specific privileges on one or more resources.
- </para>
- </section>
-
- <section xml:id="zend.acl.introduction.roles"><title>Roles</title>
-
-
- <para>
- As with resources, creating a role is also very simple. All roles must implement
- <classname>Zend_Acl_Role_Interface</classname>. This interface consists of a single
- method, <methodname>getRoleId()</methodname>, Additionally,
- <classname>Zend_Acl_Role</classname> is provided by <classname>Zend_Acl</classname> as
- a basic role implementation for developers to extend as needed.
- </para>
-
- <para>
- In <classname>Zend_Acl</classname>, a role may inherit from one or more roles. This is
- to support inheritance of rules among roles. For example, a user role, such as "sally",
- may belong to one or more parent roles, such as "editor" and "administrator". The
- developer can assign rules to "editor" and "administrator" separately, and "sally"
- would inherit such rules from both, without having to assign rules directly to "sally".
- </para>
-
- <para>
- Though the ability to inherit from multiple roles is very useful, multiple inheritance
- also introduces some degree of complexity. The following example illustrates the
- ambiguity condition and how <classname>Zend_Acl</classname> solves it.
- </para>
-
- <example xml:id="zend.acl.introduction.roles.example.multiple_inheritance"><title>Multiple Inheritance among Roles</title>
-
-
- <para>
- The following code defines three base roles - "guest",
- "member", and "admin" - from which other roles may
- inherit. Then, a role identified by "someUser" is established and
- inherits from the three other roles. The order in which these roles appear in the
- <varname>$parents</varname> array is important. When necessary,
- <classname>Zend_Acl</classname> searches for access rules defined not only for the
- queried role (herein, "someUser"), but also upon the roles from which
- the queried role inherits (herein, "guest", "member", and
- "admin"):
- </para>
-
- <programlisting language="php"><![CDATA[
-$acl = new Zend_Acl();
-
-$acl->addRole(new Zend_Acl_Role('guest'))
- ->addRole(new Zend_Acl_Role('member'))
- ->addRole(new Zend_Acl_Role('admin'));
-
-$parents = array('guest', 'member', 'admin');
-$acl->addRole(new Zend_Acl_Role('someUser'), $parents);
-
-$acl->add(new Zend_Acl_Resource('someResource'));
-
-$acl->deny('guest', 'someResource');
-$acl->allow('member', 'someResource');
-
-echo $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';
-]]></programlisting>
-
- <para>
- Since there is no rule specifically defined for the "someUser" role and
- "someResource", <classname>Zend_Acl</classname> must search for rules that may be
- defined for roles that "someUser" inherits. First, the "admin" role is visited, and
- there is no access rule defined for it. Next, the "member" role is visited, and
- <classname>Zend_Acl</classname> finds that there is a rule specifying that "member"
- is allowed access to "someResource".
- </para>
-
- <para>
- If <classname>Zend_Acl</classname> were to continue examining the rules defined for
- other parent roles, however, it would find that "guest" is denied access to
- "someResource". This fact introduces an ambiguity because now
- "someUser" is both denied and allowed access to "someResource", by reason of having
- inherited conflicting rules from different parent roles.
- </para>
-
- <para>
- <classname>Zend_Acl</classname> resolves this ambiguity by completing a query when
- it finds the first rule that is directly applicable to the query. In this case,
- since the "member" role is examined before the "guest" role, the example code would
- print "allowed".
- </para>
- </example>
-
- <note>
- <para>
- When specifying multiple parents for a role, keep in mind that the last parent
- listed is the first one searched for rules applicable to an authorization query.
- </para>
- </note>
- </section>
-
- <section xml:id="zend.acl.introduction.creating"><title>Creating the Access Control List</title>
-
-
- <para>
- An Access Control List (<acronym>ACL</acronym>) can represent any set of physical or
- virtual objects that you wish. For the purposes of demonstration, however, we will
- create a basic Content Management System (<acronym>CMS</acronym>)
- <acronym>ACL</acronym> that maintains several tiers of groups over a wide variety of
- areas. To create a new <acronym>ACL</acronym> object, we instantiate the
- <acronym>ACL</acronym> with no parameters:
- </para>
-
- <programlisting language="php"><![CDATA[
-$acl = new Zend_Acl();
-]]></programlisting>
-
- <note>
- <para>
- Until a developer specifies an "allow" rule, <classname>Zend_Acl</classname> denies
- access to every privilege upon every resource by every role.
- </para>
- </note>
- </section>
-
- <section xml:id="zend.acl.introduction.role_registry"><title>Registering Roles</title>
-
-
- <para>
- <acronym>CMS</acronym>'s will nearly always require a hierarchy of permissions to
- determine the authoring capabilities of its users. There may be a 'Guest' group to
- allow limited access for demonstrations, a 'Staff' group for the majority of
- <acronym>CMS</acronym> users who perform most of the day-to-day operations, an 'Editor'
- group for those responsible for publishing, reviewing, archiving and deleting content,
- and finally an 'Administrator' group whose tasks may include all of those of the other
- groups as well as maintenance of sensitive information, user management, back-end
- configuration data, backup and export. This set of permissions can be represented in a
- role registry, allowing each group to inherit privileges from 'parent' groups, as well
- as providing distinct privileges for their unique group only. The permissions may be
- expressed as follows:
- </para>
-
- <table xml:id="zend.acl.introduction.role_registry.table.example_cms_access_controls"><title>Access Controls for an Example CMS</title>
-
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Name</entry>
- <entry>Unique Permissions</entry>
- <entry>Inherit Permissions From</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Guest</entry>
- <entry>View</entry>
- <entry>N/A</entry>
- </row>
-
- <row>
- <entry>Staff</entry>
- <entry>Edit, Submit, Revise</entry>
- <entry>Guest</entry>
- </row>
-
- <row>
- <entry>Editor</entry>
- <entry>Publish, Archive, Delete</entry>
- <entry>Staff</entry>
- </row>
-
- <row>
- <entry>Administrator</entry>
- <entry>(Granted all access)</entry>
- <entry>N/A</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>
- For this example, <classname>Zend_Acl_Role</classname> is used, but any object that
- implements <classname>Zend_Acl_Role_Interface</classname> is acceptable. These groups
- can be added to the role registry as follows:
- </para>
-
- <programlisting language="php"><![CDATA[
-$acl = new Zend_Acl();
-
-// Add groups to the Role registry using Zend_Acl_Role
-// Guest does not inherit access controls
-$roleGuest = new Zend_Acl_Role('guest');
-$acl->addRole($roleGuest);
-
-// Staff inherits from guest
-$acl->addRole(new Zend_Acl_Role('staff'), $roleGuest);
-
-/*
-Alternatively, the above could be written:
-$acl->addRole(new Zend_Acl_Role('staff'), 'guest');
-*/
-
-// Editor inherits from staff
-$acl->addRole(new Zend_Acl_Role('editor'), 'staff');
-
-// Administrator does not inherit access controls
-$acl->addRole(new Zend_Acl_Role('administrator'));
-]]></programlisting>
- </section>
-
- <section xml:id="zend.acl.introduction.defining"><title>Defining Access Controls</title>
-
-
- <para>
- Now that the <acronym>ACL</acronym> contains the relevant roles, rules can be
- established that define how resources may be accessed by roles. You may have noticed
- that we have not defined any particular resources for this example, which is simplified
- to illustrate that the rules apply to all resources. <classname>Zend_Acl</classname>
- provides an implementation whereby rules need only be assigned from general to
- specific, minimizing the number of rules needed, because resources and roles inherit
- rules that are defined upon their ancestors.
- </para>
-
- <note>
- <para>
- In general, <classname>Zend_Acl</classname> obeys a given rule if and only if a
- more specific rule does not apply.
- </para>
- </note>
-
- <para>
- Consequently, we can define a reasonably complex set of rules with a minimum amount of
- code. To apply the base permissions as defined above:
- </para>
-
- <programlisting language="php"><![CDATA[
-$acl = new Zend_Acl();
-
-$roleGuest = new Zend_Acl_Role('guest');
-$acl->addRole($roleGuest);
-$acl->addRole(new Zend_Acl_Role('staff'), $roleGuest);
-$acl->addRole(new Zend_Acl_Role('editor'), 'staff');
-$acl->addRole(new Zend_Acl_Role('administrator'));
-
-// Guest may only view content
-$acl->allow($roleGuest, null, 'view');
-
-/*
-Alternatively, the above could be written:
-$acl->allow('guest', null, 'view');
-//*/
-
-// Staff inherits view privilege from guest, but also needs additional
-// privileges
-$acl->allow('staff', null, array('edit', 'submit', 'revise'));
-
-// Editor inherits view, edit, submit, and revise privileges from
-// staff, but also needs additional privileges
-$acl->allow('editor', null, array('publish', 'archive', 'delete'));
-
-// Administrator inherits nothing, but is allowed all privileges
-$acl->allow('administrator');
-]]></programlisting>
-
- <para>
- The <constant>NULL</constant> values in the above <methodname>allow()</methodname> calls
- are used to indicate that the allow rules apply to all resources.
- </para>
- </section>
-
- <section xml:id="zend.acl.introduction.querying"><title>Querying an ACL</title>
-
-
- <para>
- We now have a flexible <acronym>ACL</acronym> that can be used to determine whether
- requesters have permission to perform functions throughout the web application.
- Performing queries is quite simple using the <methodname>isAllowed()</methodname>
- method:
- </para>
-
- <programlisting language="php"><![CDATA[
-echo $acl->isAllowed('guest', null, 'view') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('staff', null, 'publish') ?
- "allowed" : "denied";
-// denied
-
-echo $acl->isAllowed('staff', null, 'revise') ?
- "allowed" : "denied";
-// allowed
-
-echo $acl->isAllowed('editor', null, 'view') ?
- "allowed" : "denied";
-// allowed because of inheritance from guest
-
-echo $acl->isAllowed('editor', null, 'update') ?
- "allowed" : "denied";
-// denied because no allow rule for 'update'
-
-echo $acl->isAllowed('administrator', null, 'view') ?
- "allowed" : "denied";
-// allowed because administrator is allowed all privileges
-
-echo $acl->isAllowed('administrator') ?
- "allowed" : "denied";
-// allowed because administrator is allowed all privileges
-
-echo $acl->isAllowed('administrator', null, 'update') ?
- "allowed" : "denied";
-// allowed because administrator is allowed all privileges
-]]></programlisting>
- </section>
-</section>
View
475 documentation/manual/en/module_specs/Zend_Auth.xml
@@ -1,475 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<section xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="zend.auth.introduction"><title>Introduction</title>
-
-
- <para>
- <classname>Zend_Auth</classname> provides an <acronym>API</acronym> for authentication and
- includes concrete authentication adapters for common use case scenarios.
- </para>
-
- <para>
- <classname>Zend_Auth</classname> is concerned only with <emphasis>authentication</emphasis>
- and not with <emphasis>authorization</emphasis>. Authentication is loosely defined as
- determining whether an entity actually is what it purports to be (i.e., identification),
- based on some set of credentials. Authorization, the process of deciding whether to allow
- an entity access to, or to perform operations upon, other entities is outside the scope of
- <classname>Zend_Auth</classname>. For more information about authorization and access
- control with Zend Framework, please see <link linkend="zend.acl"><classname>Zend_Acl</classname></link>.
- </para>
-
- <note>
- <para>
- The <classname>Zend_Auth</classname> class implements the Singleton pattern - only one
- instance of the class is available - through its static
- <methodname>getInstance()</methodname> method. This means that using the
- <emphasis>new</emphasis> operator and the <emphasis>clone</emphasis> keyword will not
- work with the <classname>Zend_Auth</classname> class; use
- <methodname>Zend_Auth::getInstance()</methodname> instead.
- </para>
- </note>
-
- <section xml:id="zend.auth.introduction.adapters"><title>Adapters</title>
-
-
- <para>
- A <classname>Zend_Auth</classname> adapter is used to authenticate against a particular
- type of authentication service, such as <acronym>LDAP</acronym>,
- <acronym>RDBMS</acronym>, or file-based storage. Different adapters are likely to have
- vastly different options and behaviors, but some basic things are common among
- authentication adapters. For example, accepting authentication credentials (including a
- purported identity), performing queries against the authentication service, and
- returning results are common to <classname>Zend_Auth</classname> adapters.
- </para>
-
- <para>
- Each <classname>Zend_Auth</classname> adapter class implements
- <classname>Zend_Auth_Adapter_Interface</classname>. This interface defines one method,
- <methodname>authenticate()</methodname>, that an adapter class must implement for
- performing an authentication query. Each adapter class must be prepared prior to
- calling <methodname>authenticate()</methodname>. Such adapter preparation includes
- setting up credentials (e.g., username and password) and defining values for
- adapter-specific configuration options, such as database connection settings for a
- database table adapter.
- </para>
-
- <para>
- The following is an example authentication adapter that requires a username and
- password to be set for authentication. Other details, such as how the authentication
- service is queried, have been omitted for brevity:
- </para>
-
- <programlisting language="php"><![CDATA[
-class MyAuthAdapter implements Zend_Auth_Adapter_Interface
-{
- /**
- * Sets username and password for authentication
- *
- * @return void
- */
- public function __construct($username, $password)
- {
- // ...
- }
-
- /**
- * Performs an authentication attempt
- *
- * @throws Zend_Auth_Adapter_Exception If authentication cannot
- * be performed
- * @return Zend_Auth_Result
- */
- public function authenticate()
- {
- // ...
- }
-}
-]]></programlisting>
-
- <para>
- As indicated in its docblock, <methodname>authenticate()</methodname> must return an
- instance of <classname>Zend_Auth_Result</classname> (or of a class derived from
- <classname>Zend_Auth_Result</classname>). If for some reason performing an
- authentication query is impossible, <methodname>authenticate()</methodname> should
- throw an exception that derives from
- <classname>Zend_Auth_Adapter_Exception</classname>.
- </para>
- </section>
-
- <section xml:id="zend.auth.introduction.results"><title>Results</title>
-
-
- <para>