Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Forwards compatibility with v3 releases #76

Merged

Commits on Feb 25, 2016

  1. Set new target version and update dependencies

    - Sets new target version to be 2.7.0.
    - Updates dependencies to known-stable, forwards-compatible versions.
    - Updates test matrix:
      - Test against v2 and v3 versions.
      - Run each against each supported PHP version.
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    27f184f View commit details
    Browse the repository at this point in the history
  2. Re-added functionality removed in previous patches

    This patch re-introduces the following classes from the
    `Zend\Mvc\Service` namespace, along with related tests:
    
    - `ConfigFactory`
    - `ControllerLoaderFactory`
    - `DiAbstractServiceFactoryFactory`
    - `DiFactory`
    - `DiServiceInitializerFactory`
    - `DiStrictAbstractServiceFactory`
    - `DiStrictAbstractServiceFactoryFactory`
    
    It also re-instates the `ServiceManagerAware` and `ServiceLocatorAware`
    initializers in the `ServiceManagerConfig` class (though they will now
    emit deprecation notices), and ensures that class properly defines
    services such that they'll be accessible identically between v2 and v3
    of zend-servicemanager.
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    751f5b4 View commit details
    Browse the repository at this point in the history
  3. Remove second, boolean "has" argument in Dispatch and Middleware list…

    …eners
    
    Not necessary with shipped, stable versions of zend-servicemanager.
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    5350b19 View commit details
    Browse the repository at this point in the history
  4. Ensure ServiceListenerFactory works on both v2 and v3

    - Re-introduced `createService()` method, proxying to `__invoke()`.
    - Re-defined invokables as aliases + invokable factories.
    - Re-enabled form abstract factory.
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    b2a17be View commit details
    Browse the repository at this point in the history
  5. Make RouteInvokableFactory + RoutePluginManager v2/v3 compatible

    - Ensured each extend the appropriate v2 interface/class, and implement
      the required methods for both v2 and v3.
    - Added `setInvokableClass()` implementation to `RoutePluginManager` to
      mimic work in `configure()` for v2.
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    dbda72d View commit details
    Browse the repository at this point in the history
  6. Make all factories, plugin managers both BC and FC

    Updated all factories to ensure they work with both v2 and v3 of
    zend-servicemanager. Primarily, this consisted of re-adding the
    `createService()` method as a proxy to `__invoke()`.
    
    Updated all abstract factories to ensure they implement both the v2 and v3
    methods.
    
    Updated all plugin managers to ensure they implement both the v2 and v3
    methods, define appropriate default services, and utilize the v2 properties for
    "auto add invokables" and "share by default".
    weierophinney committed Feb 25, 2016
    Configuration menu
    Copy the full SHA
    ba23b41 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0086ca6 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2016

  1. Defer injection of default service configuration

    - Defer until after testing the instance, to allow injection in
      retrieved instances (vs lazy-instantiated ones).
    weierophinney committed Feb 26, 2016
    Configuration menu
    Copy the full SHA
    8b49e87 View commit details
    Browse the repository at this point in the history
  2. Make new Application constructor arguments optional

    Restores behavior to be backwards compatible; if the event manager,
    request, and/or response are not passed to the constructor, they are
    pulled from the service manager.
    weierophinney committed Feb 26, 2016
    Configuration menu
    Copy the full SHA
    db96746 View commit details
    Browse the repository at this point in the history
  3. Restore v2 workflow, but updated for v2/v3 zend-servicemanager compat…

    …ibility
    
    Removed previous workflow from v2 with regards to:
    
    - instantiation and initial configuration of the SM
    - Retrieving the SM from the ServiceListener post-module loading (no
      longer necessary)
    weierophinney committed Feb 26, 2016
    Configuration menu
    Copy the full SHA
    7a26cce View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c1677f9 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2016

  1. Configuration menu
    Copy the full SHA
    c50ca92 View commit details
    Browse the repository at this point in the history
  2. Updated dependencies

    - Require zend-authentication 2.5.3 or up (first version to allow zend-stdlib
      3.0 support)
    weierophinney committed Feb 28, 2016
    Configuration menu
    Copy the full SHA
    9ecc7a3 View commit details
    Browse the repository at this point in the history
  3. Basic v3 compatiility updates

    These changes provide basic v3 compability, allowing the tests to at least run
    (though not pass). In particular:
    
    - The `ConfigFactory` was only targeting v2 previously; it's now
      forwards-compatible with v3.
    - The `RoutePluginManager` had two issues:
      - `configure()` had the wrong visibility.
      - `setInvokableClass()` is a method that changes signature between v2 and v3.
        Since the logic in the `RoutePluginManager` duplicates that in v3, it was
        removed.
    - The EventManager factory, and any tests that were instantiating and injecting
      an EventManager with a shared event manager, received updates to allow varying
      instantiation based on version. v2 does not accept a shared manager to the
      constructor, and requires injection via `setSharedManager()`; v3 requires
      injection via the constructor, and removes the `setSharedManager()` method
      entirely.
    weierophinney committed Feb 28, 2016
    Configuration menu
    Copy the full SHA
    89f6ebf View commit details
    Browse the repository at this point in the history
  4. Ensure tests pass with v3 components

    - Updated `Forward` plugin to work with both v2 and v3 API of
      `SharedEventManagerInterface::getListeners()`.
    - `ViewHelperManagerFactory` updates:
      - Fixed typo when registering Doctype helper factory.
      - All override factories now pull the parent service locator when under
        zend-servicemanager v2.
    - Throw `InvalidServiceException`, not `InvalidServiceNameException`, from
      `DiStrictAbstractServiceFactory` (latter does not exist in v3)
    - Test fixes:
      - `config`, not `Config`, service
      - `Request`, not `request`, service
      - do not grab return value of mutators on SM instances
      - use Prophecy to get SM/plugin manager instances (ensuring that constructor
        arguments can be ignored)
    weierophinney committed Feb 28, 2016
    Configuration menu
    Copy the full SHA
    35a9d05 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9bab442 View commit details
    Browse the repository at this point in the history