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

Refactored to work with zend-servicemanager v3 #36

Merged

Commits on Oct 8, 2015

  1. Refactored to work with zend-servicemanager v3

    - All factories implementing `FactoryInterface` and/or
      `AbstractFactoryInterface` were updated to the new interface signatures.
    
    - All plugin managers were updated to the new `AbstractPluginManager` changes.
      Whenever possible, they were rewritten to remove invokables and instead define
      factories and/or aliases.
    
    - Added the `RouteInvokableFactory`, which acts both as a specialized invokable
      factory for route implementations (as they use a `::factory()` method for
      initialization vs a constructor), and an abstract factory for handling FQCN
      route names. The `RoutePluginManager` composes this abstract factory by
      default.
    
    - `Application::init` was updated to pull the fully configured service manager
      from the `ServiceListener` after loading modules.
    
    - The `DispatchListener` now receives its controller manager instance during
      instantiation.
    
    - Separated router factory into 3:
    
      - `ConsoleRouterFactory` will create a console router
      - `HttpRouterFactory` will create an HTTP router
      - `RouterFactory` delegates to the above two, based on status of
        `Console::isConsole()`
    
      The above makes it possible to specify the specific router type you want to
      use via configuration, making testing possible.
    
    - Refactored the ViewManager implementations. Previously, the view managers
      were adding services and aliases to the service manager duing their bootstrap
      listeners; with the SM now immutable, that does not make sense, and, in fact,
      leads to errors.
    
      In all cases where object creation was occuring, the code was moved to new
      factories, which the view manager implementations can now pull specifically.
      Aliases for these were added where appropriate. However, I stopped short of
      adding factories for general services such as `DefaultRenderingStrategy` as
      the implementations differ enough that having such a factory mutate based on
      the selected view manager would require type-hinting to consume the services
      regardless.
    
    - New integration tests for `Application` were written to ensure the SM is in
      correct state for `bootstrap()` and `run()`, and that the service listener <->
      service manager dance is correctly managed.
    weierophinney committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    a46be7d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    923d5da View commit details
    Browse the repository at this point in the history
  3. Remove sha1 constraint from zend-view

    Fixed upstream in packagist repo.
    weierophinney committed Oct 8, 2015
    Configuration menu
    Copy the full SHA
    61545b6 View commit details
    Browse the repository at this point in the history