diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..88e99d5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +vendor +composer.lock \ No newline at end of file diff --git a/Module.php b/Module.php index d90c85a..4c8827d 100644 --- a/Module.php +++ b/Module.php @@ -38,80 +38,4 @@ * @link http://soflomo.com */ -namespace Soflomo\Cache; - -use Zend\Loader; -use Zend\ModuleManager\Feature; -use Zend\Console\Adapter\AdapterInterface as Console; - -class Module implements - Feature\ConfigProviderInterface, - Feature\AutoloaderProviderInterface, - Feature\ConsoleUsageProviderInterface -{ - public function getAutoloaderConfig() - { - return array( - Loader\AutoloaderFactory::STANDARD_AUTOLOADER => array( - Loader\StandardAutoloader::LOAD_NS => array( - __NAMESPACE__ => __DIR__ . '/src/Soflomo/Cache', - ), - ), - ); - } - - public function getConfig() - { - return include __DIR__ . '/config/module.config.php'; - } - - public function getConsoleUsage(Console $console) - { - $usage = array( - 'Clear', - 'cache --flush [--force|-f] []' => 'Flush complete cache', - 'cache --clear [--force|-f] [] --expired|-e' => 'Clear expired cache', - 'cache --clear [--force|-f] [] --by-namespace=' => 'Clear cache by namespace', - 'cache --clear [--force|-f] [] --by-prefix=' => 'Clear cache by prefix', - - array('', 'Optional service name of the cache'), - array('--expired|-e', 'Clear all expired items in cache'), - array('--by-namespace=', 'Clear all items in cache with given namespace'), - array('--by-prefix=', 'Clear all items in cache with given prefix'), - array('--force|-f', 'Force clearing, without asking confirmation'), - - 'Optimize', - 'cache --optimize []' => 'Optimize cache', - - array('', 'Optional service name of the cache'), - - 'Status information', - 'cache --status [] [-h]' => 'Show (storage) information about the cache', - - array('', 'Optional service name of the cache'), - array('-h', 'Show status in human readable output'), - - 'Application configuration files', - 'cache --clear-config' => 'Clear the merged configuration file', - 'cache --clear-module-map' => 'Clear the module map', - ); - - if (class_exists('Doctrine\\ORM\\Configuration')) { - $usage = array_merge($usage, array( - 'Doctrine cache', - 'cache --clear-doctrine' => 'Flush all Doctrine caches', - 'cache --clear-doctrine [--query|-q]' => 'Flush Doctrine query cache', - 'cache --clear-doctrine [--result|-r]' => 'Flush Doctrine result cache', - 'cache --clear-doctrine [--metadata|-m]' => 'Flush Doctrine metadata cache', - 'cache --clear-doctrine [--hydration|-h]' => 'Flush Doctrine hydration cache', - - array('--query|-q', 'Clear only Doctrine query cache'), - array('--result|-r', 'Clear only Doctrine result cache'), - array('--metadata|-m', 'Clear only Doctrine metadata cache'), - array('--hydration|-h', 'Clear only Doctrine hydration cache'), - )); - } - - return $usage; - } -} +require_once __DIR__ . '/src/Module.php'; diff --git a/composer.json b/composer.json index 7657890..c008c98 100644 --- a/composer.json +++ b/composer.json @@ -17,16 +17,23 @@ } ], "require": { - "php": ">=5.3.3", - "zendframework/zend-cache": "~2.0", - "zendframework/zend-mvc": "~2.0" + "php": "^5.5 || ^7.0", + "zendframework/zend-cache": "^2.0", + "zendframework/zend-mvc": "^2.0 || ^3.0", + "zendframework/zend-modulemanager": "^2.0", + "zendframework/zend-console": "^2.0", + "zendframework/zend-servicemanager": "^2.7 || ^3.0", + "container-interop/container-interop": "^1.0" + }, + "require-dev": { + "doctrine/doctrine-orm-module": "~0.9 || ^1.0" + }, + "suggest": { + "doctrine/doctrine-orm-module": "Install it to be able to clear doctrine cache" }, "autoload": { - "psr-0": { - "Soflomo\\Cache": "src/" - }, - "classmap": [ - "./Module.php" - ] + "psr-4": { + "Soflomo\\Cache\\": "src/" + } } } \ No newline at end of file diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..42f81ea --- /dev/null +++ b/composer.lock @@ -0,0 +1,2214 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "9d7bc4679fe431ec88b7a9d90485a0f4", + "content-hash": "26c3cce379a1578189e186721f64de7c", + "packages": [ + { + "name": "container-interop/container-interop", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e", + "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "time": "2014-12-30 15:22:37" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06 14:39:51" + }, + { + "name": "zendframework/zend-cache", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-cache.git", + "reference": "2c68def8f96ce842d2f2a9a69e2f3508c2f5312d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-cache/zipball/2c68def8f96ce842d2f2a9a69e2f3508c2f5312d", + "reference": "2c68def8f96ce842d2f2a9a69e2f3508c2f5312d", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpbench/phpbench": "^0.10.0", + "phpunit/phpunit": "^4.5", + "zendframework/zend-serializer": "^2.6", + "zendframework/zend-session": "^2.6.2" + }, + "suggest": { + "ext-apc": "APC or compatible extension, to use the APC storage adapter", + "ext-apcu": "APCU >= 5.1.0, to use the APCu storage adapter", + "ext-dba": "DBA, to use the DBA storage adapter", + "ext-memcache": "Memcache >= 2.0.0 to use the Memcache storage adapter", + "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter", + "ext-mongo": "Mongo, to use MongoDb storage adapter", + "ext-redis": "Redis, to use Redis storage adapter", + "ext-wincache": "WinCache, to use the WinCache storage adapter", + "ext-xcache": "XCache, to use the XCache storage adapter", + "mongofill/mongofill": "Alternative to ext-mongo - a pure PHP implementation designed as a drop in replacement", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-session": "Zend\\Session component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + }, + "zf": { + "component": "Zend\\Cache", + "config-provider": "Zend\\Cache\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a generic way to cache any data", + "homepage": "https://github.com/zendframework/zend-cache", + "keywords": [ + "cache", + "zf2" + ], + "time": "2016-05-12 21:47:55" + }, + { + "name": "zendframework/zend-config", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-config.git", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-config/zipball/2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "reference": "2920e877a9f6dca9fa8f6bd3b1ffc2e19bb1e30d", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.5", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-i18n": "Zend\\I18n component", + "zendframework/zend-json": "Zend\\Json to use the Json reader or writer classes", + "zendframework/zend-servicemanager": "Zend\\ServiceManager for use with the Config Factory to retrieve reader and writer instances" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Config\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a nested object property based user interface for accessing this configuration data within application code", + "homepage": "https://github.com/zendframework/zend-config", + "keywords": [ + "config", + "zf2" + ], + "time": "2016-02-04 23:01:10" + }, + { + "name": "zendframework/zend-console", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-console.git", + "reference": "cbbdfdfa0564aa20d1c6c6ef3daeafe6aec02360" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-console/zipball/cbbdfdfa0564aa20d1c6c6ef3daeafe6aec02360", + "reference": "cbbdfdfa0564aa20d1c6c6ef3daeafe6aec02360", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-json": "^2.6", + "zendframework/zend-validator": "^2.5" + }, + "suggest": { + "zendframework/zend-filter": "To support DefaultRouteMatcher usage", + "zendframework/zend-validator": "To support DefaultRouteMatcher usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev", + "dev-develop": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Console\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-console", + "keywords": [ + "console", + "zf2" + ], + "time": "2016-02-09 17:15:12" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.3.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "b1d59735b672865dbeb930805029c24f226e3e77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/b1d59735b672865dbeb930805029c24f226e3e77", + "reference": "b1d59735b672865dbeb930805029c24f226e3e77", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "~1.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.6", + "squizlabs/php_codesniffer": "^2.3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev", + "dev-develop": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2016-03-17 18:02:05" + }, + { + "name": "zendframework/zend-escaper", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/2dcd14b61a72d8b8e27d579c6344e12c26141d4e", + "reference": "2dcd14b61a72d8b8e27d579c6344e12c26141d4e", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Escaper\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-escaper", + "keywords": [ + "escaper", + "zf2" + ], + "time": "2016-06-30 19:48:38" + }, + { + "name": "zendframework/zend-eventmanager", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-eventmanager.git", + "reference": "5c80bdee0e952be112dcec0968bad770082c3a6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/5c80bdee0e952be112dcec0968bad770082c3a6e", + "reference": "5c80bdee0e952be112dcec0968bad770082c3a6e", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0" + }, + "require-dev": { + "athletic/athletic": "^0.1", + "container-interop/container-interop": "^1.1.0", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0" + }, + "suggest": { + "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", + "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://github.com/zendframework/zend-eventmanager", + "keywords": [ + "event", + "eventmanager", + "events", + "zf2" + ], + "time": "2016-02-18 20:53:00" + }, + { + "name": "zendframework/zend-filter", + "version": "2.7.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-filter.git", + "reference": "84c50246428efb0a1e52868e162dab3e149d5b80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-filter/zipball/84c50246428efb0a1e52868e162dab3e149d5b80", + "reference": "84c50246428efb0a1e52868e162dab3e149d5b80", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "pear/archive_tar": "^1.4", + "phpunit/phpunit": "~4.0", + "zendframework/zend-crypt": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "zendframework/zend-crypt": "Zend\\Crypt component, for encryption filters", + "zendframework/zend-i18n": "Zend\\I18n component for filters depending on i18n functionality", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for using the filter chain functionality", + "zendframework/zend-uri": "Zend\\Uri component, for the UriNormalize filter" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + }, + "zf": { + "component": "Zend\\Filter", + "config-provider": "Zend\\Filter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Filter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a set of commonly needed data filters", + "homepage": "https://github.com/zendframework/zend-filter", + "keywords": [ + "filter", + "zf2" + ], + "time": "2016-04-18 18:32:43" + }, + { + "name": "zendframework/zend-form", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-form.git", + "reference": "3abb688fda20989b2e2b444efc1dba173abb2e07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-form/zipball/3abb688fda20989b2e2b444efc1dba173abb2e07", + "reference": "3abb688fda20989b2e2b444efc1dba173abb2e07", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "^1.1 || ^2.1", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.8", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-captcha": "^2.5.4", + "zendframework/zend-code": "^2.6", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.6.2", + "zendframework/zend-text": "^2.6", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-view": "^2.6.2", + "zendframework/zendservice-recaptcha": "*" + }, + "suggest": { + "zendframework/zend-captcha": "^2.5.4, required for using CAPTCHA form elements", + "zendframework/zend-code": "^2.6 || ^3.0, required to use zend-form annotations support", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, reuired for zend-form annotations support", + "zendframework/zend-i18n": "^2.6, required when using zend-form view helpers", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, required to use the form factories or provide services", + "zendframework/zend-view": "^2.6.2, required for using the zend-form view helpers", + "zendframework/zendservice-recaptcha": "in order to use the ReCaptcha form element" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9-dev", + "dev-develop": "2.10-dev" + }, + "zf": { + "component": "Zend\\Form", + "config-provider": "Zend\\Form\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Form\\": "src/" + }, + "files": [ + "autoload/formElementManagerPolyfill.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-form", + "keywords": [ + "form", + "zf2" + ], + "time": "2016-06-07 18:22:51" + }, + { + "name": "zendframework/zend-http", + "version": "2.5.5", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-http.git", + "reference": "98b1cac0bc7a91497c5898184281abcd0e24c8d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-http/zipball/98b1cac0bc7a91497c5898184281abcd0e24c8d6", + "reference": "98b1cac0bc7a91497c5898184281abcd0e24c8d6", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-stdlib": "^2.5 || ^3.0", + "zendframework/zend-uri": "^2.5", + "zendframework/zend-validator": "^2.5" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.0", + "zendframework/zend-config": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Http\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests", + "homepage": "https://github.com/zendframework/zend-http", + "keywords": [ + "http", + "zf2" + ], + "time": "2016-08-08 15:01:54" + }, + { + "name": "zendframework/zend-hydrator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-hydrator.git", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "reference": "22652e1661a5a10b3f564cf7824a2206cf5a4a65", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "^2.0@dev", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0, to support aggregate hydrator usage", + "zendframework/zend-filter": "^2.6, to support naming strategy hydrator usage", + "zendframework/zend-serializer": "^2.6.1, to use the SerializableStrategy", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3, to support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-1.0": "1.0-dev", + "dev-release-1.1": "1.1-dev", + "dev-master": "2.0-dev", + "dev-develop": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Hydrator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-hydrator", + "keywords": [ + "hydrator", + "zf2" + ], + "time": "2016-02-18 22:38:26" + }, + { + "name": "zendframework/zend-inputfilter", + "version": "2.7.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-inputfilter.git", + "reference": "0cf1bdcd8858a8583965310a7dae63ad75bd1237" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-inputfilter/zipball/0cf1bdcd8858a8583965310a7dae63ad75bd1237", + "reference": "0cf1bdcd8858a8583965310a7dae63ad75bd1237", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-stdlib": "^2.7 || ^3.0", + "zendframework/zend-validator": "^2.6" + }, + "require-dev": { + "phpunit/phpunit": "^4.8", + "squizlabs/php_codesniffer": "^2.6.2", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-servicemanager": "To support plugin manager support" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + }, + "zf": { + "component": "Zend\\InputFilter", + "config-provider": "Zend\\InputFilter\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\InputFilter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-inputfilter", + "keywords": [ + "inputfilter", + "zf2" + ], + "time": "2016-08-18 18:40:34" + }, + { + "name": "zendframework/zend-loader", + "version": "2.5.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-loader.git", + "reference": "c5fd2f071bde071f4363def7dea8dec7393e135c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-loader/zipball/c5fd2f071bde071f4363def7dea8dec7393e135c", + "reference": "c5fd2f071bde071f4363def7dea8dec7393e135c", + "shasum": "" + }, + "require": { + "php": ">=5.3.23" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Loader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-loader", + "keywords": [ + "loader", + "zf2" + ], + "time": "2015-06-03 14:05:47" + }, + { + "name": "zendframework/zend-modulemanager", + "version": "2.7.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-modulemanager.git", + "reference": "2a59ab9a0dd7699a55050dff659ab0f28272b46e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-modulemanager/zipball/2a59ab9a0dd7699a55050dff659ab0f28272b46e", + "reference": "2a59ab9a0dd7699a55050dff659ab0f28272b46e", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-config": "^2.6", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-console": "^2.6", + "zendframework/zend-di": "^2.6", + "zendframework/zend-loader": "^2.5", + "zendframework/zend-mvc": "^2.7", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3" + }, + "suggest": { + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-console": "Zend\\Console component", + "zendframework/zend-loader": "Zend\\Loader component", + "zendframework/zend-mvc": "Zend\\Mvc component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ModuleManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-modulemanager", + "keywords": [ + "modulemanager", + "zf2" + ], + "time": "2016-05-16 21:21:11" + }, + { + "name": "zendframework/zend-mvc", + "version": "2.7.10", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-mvc.git", + "reference": "9b705d5d5c7ed3808f8d52b440f612d9dc28c395" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-mvc/zipball/9b705d5d5c7ed3808f8d52b440f612d9dc28c395", + "reference": "9b705d5d5c7ed3808f8d52b440f612d9dc28c395", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-eventmanager": "^2.6.2 || ^3.0", + "zendframework/zend-form": "^2.7", + "zendframework/zend-hydrator": "^1.1 || ^2.1", + "zendframework/zend-psr7bridge": "^0.2", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.5 || ^3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.5", + "sebastian/version": "^1.0.4", + "zendframework/zend-authentication": "^2.5.3", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-console": "^2.6", + "zendframework/zend-di": "^2.6", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-inputfilter": "^2.6", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-log": "^2.7.1", + "zendframework/zend-modulemanager": "^2.7.1", + "zendframework/zend-serializer": "^2.6.1", + "zendframework/zend-session": "^2.6.2", + "zendframework/zend-text": "^2.6", + "zendframework/zend-uri": "^2.5", + "zendframework/zend-validator": "^2.6", + "zendframework/zend-version": "^2.5", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "zendframework/zend-authentication": "Zend\\Authentication component for Identity plugin", + "zendframework/zend-config": "Zend\\Config component", + "zendframework/zend-console": "Zend\\Console component", + "zendframework/zend-di": "Zend\\Di component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-i18n": "Zend\\I18n component for translatable segments", + "zendframework/zend-inputfilter": "Zend\\Inputfilter component", + "zendframework/zend-json": "Zend\\Json component", + "zendframework/zend-log": "Zend\\Log component", + "zendframework/zend-modulemanager": "Zend\\ModuleManager component", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager-di": "^1.0.1, if using zend-servicemanager v3 and requiring the zend-di integration", + "zendframework/zend-session": "Zend\\Session component for FlashMessenger, PRG, and FPRG plugins", + "zendframework/zend-text": "Zend\\Text component", + "zendframework/zend-uri": "Zend\\Uri component", + "zendframework/zend-validator": "Zend\\Validator component", + "zendframework/zend-version": "Zend\\Version component", + "zendframework/zend-view": "Zend\\View component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Mvc\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-mvc", + "keywords": [ + "mvc", + "zf2" + ], + "time": "2016-06-13 16:52:36" + }, + { + "name": "zendframework/zend-psr7bridge", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-psr7bridge.git", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-psr7bridge/zipball/86c0b53b0c6381391c4add4a93a56e51d5c74605", + "reference": "86c0b53b0c6381391c4add4a93a56e51d5c74605", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "psr/http-message": "^1.0", + "zendframework/zend-diactoros": "^1.1", + "zendframework/zend-http": "^2.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.7", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev", + "dev-develop": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Psr7Bridge\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "PSR-7 <-> Zend\\Http bridge", + "homepage": "https://github.com/zendframework/zend-psr7bridge", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2016-05-10 21:44:39" + }, + { + "name": "zendframework/zend-servicemanager", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-servicemanager.git", + "reference": "f701b0d322741b0c8d8ca1288f249a49438029cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/f701b0d322741b0c8d8ca1288f249a49438029cd", + "reference": "f701b0d322741b0c8d8ca1288f249a49438029cd", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "~1.0", + "php": "^5.5 || ^7.0" + }, + "provide": { + "container-interop/container-interop-implementation": "^1.1" + }, + "require-dev": { + "ocramius/proxy-manager": "^1.0 || ^2.0", + "phpbench/phpbench": "^0.10.0", + "phpunit/phpunit": "^4.6 || ^5.2.10", + "squizlabs/php_codesniffer": "^2.5.1" + }, + "suggest": { + "ocramius/proxy-manager": "ProxyManager 1.* to handle lazy initialization of services", + "zendframework/zend-stdlib": "zend-stdlib ^2.5 if you wish to use the MergeReplaceKey or MergeRemoveKey features in Config instances" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev", + "dev-develop": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\ServiceManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-servicemanager", + "keywords": [ + "service-manager", + "servicemanager", + "zf" + ], + "time": "2016-07-15 14:59:51" + }, + { + "name": "zendframework/zend-stdlib", + "version": "2.7.7", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "reference": "0e44eb46788f65e09e077eb7f44d2659143bcc1f", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-hydrator": "~1.1" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-config": "~2.5", + "zendframework/zend-eventmanager": "~2.5", + "zendframework/zend-filter": "~2.5", + "zendframework/zend-inputfilter": "~2.5", + "zendframework/zend-serializer": "~2.5", + "zendframework/zend-servicemanager": "~2.5" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-release-2.7": "2.7-dev", + "dev-master": "3.0-dev", + "dev-develop": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-stdlib", + "keywords": [ + "stdlib", + "zf2" + ], + "time": "2016-04-12 21:17:31" + }, + { + "name": "zendframework/zend-uri", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-uri.git", + "reference": "0bf717a239432b1a1675ae314f7c4acd742749ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-uri/zipball/0bf717a239432b1a1675ae314f7c4acd742749ed", + "reference": "0bf717a239432b1a1675ae314f7c4acd742749ed", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-escaper": "^2.5", + "zendframework/zend-validator": "^2.5" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Uri\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "a component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)", + "homepage": "https://github.com/zendframework/zend-uri", + "keywords": [ + "uri", + "zf2" + ], + "time": "2016-02-17 22:38:51" + }, + { + "name": "zendframework/zend-validator", + "version": "2.8.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-validator.git", + "reference": "8ec9f57a717dd37340308aa632f148a2c2be1cfc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/8ec9f57a717dd37340308aa632f148a2c2be1cfc", + "reference": "8ec9f57a717dd37340308aa632f148a2c2be1cfc", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "^4.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-config": "^2.6", + "zendframework/zend-db": "^2.7", + "zendframework/zend-filter": "^2.6", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-math": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-session": "^2.6.2", + "zendframework/zend-uri": "^2.5" + }, + "suggest": { + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-filter": "Zend\\Filter component, required by the Digits validator", + "zendframework/zend-i18n": "Zend\\I18n component to allow translation of validation error messages as well as to use the various Date validators", + "zendframework/zend-i18n-resources": "Translations of validator messages", + "zendframework/zend-math": "Zend\\Math component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component to allow using the ValidatorPluginManager and validator chains", + "zendframework/zend-session": "Zend\\Session component", + "zendframework/zend-uri": "Zend\\Uri component, required by the Uri and Sitemap\\Loc validators" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev", + "dev-develop": "2.9-dev" + }, + "zf": { + "component": "Zend\\Validator", + "config-provider": "Zend\\Validator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Validator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides a set of commonly needed validators", + "homepage": "https://github.com/zendframework/zend-validator", + "keywords": [ + "validator", + "zf2" + ], + "time": "2016-06-23 13:44:31" + } + ], + "packages-dev": [ + { + "name": "doctrine/annotations", + "version": "v1.2.7", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2015-08-31 12:32:49" + }, + { + "name": "doctrine/cache", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/f8af318d14bdb0eff0336795b428b547bd39ccb6", + "reference": "f8af318d14bdb0eff0336795b428b547bd39ccb6", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2015-12-31 16:37:02" + }, + { + "name": "doctrine/collections", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2015-04-14 22:21:58" + }, + { + "name": "doctrine/common", + "version": "v2.6.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "a579557bc689580c19fee4e27487a67fe60defc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/a579557bc689580c19fee4e27487a67fe60defc0", + "reference": "a579557bc689580c19fee4e27487a67fe60defc0", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.5|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2015-12-25 13:18:31" + }, + { + "name": "doctrine/dbal", + "version": "v2.5.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "abbdfd1cff43a7b99d027af3be709bc8fc7d4769" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/abbdfd1cff43a7b99d027af3be709bc8fc7d4769", + "reference": "abbdfd1cff43a7b99d027af3be709bc8fc7d4769", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.4,<2.7-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "symfony/console": "2.*" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2016-01-05 22:11:12" + }, + { + "name": "doctrine/doctrine-module", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineModule.git", + "reference": "eb603352dcbf6f4e2186e19da560ea31e9616db8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineModule/zipball/eb603352dcbf6f4e2186e19da560ea31e9616db8", + "reference": "eb603352dcbf6f4e2186e19da560ea31e9616db8", + "shasum": "" + }, + "require": { + "doctrine/cache": "~1.5", + "doctrine/common": "~2.6", + "php": "^5.5 || ^7.0", + "symfony/console": "~2.3|~3.0", + "zendframework/zend-authentication": "^2.5.2", + "zendframework/zend-cache": "^2.5.2", + "zendframework/zend-hydrator": "^1.1", + "zendframework/zend-mvc": "^2.5.2", + "zendframework/zend-paginator": "^2.6", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.6", + "zendframework/zend-validator": "^2.5.2" + }, + "require-dev": { + "doctrine/coding-standard": "dev-master", + "phpunit/phpunit": "~4.0", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-log": "^2.5.2", + "zendframework/zend-modulemanager": "^2.6.1", + "zendframework/zend-serializer": "^2.6", + "zendframework/zend-session": "^2.5.2", + "zendframework/zend-test": "^2.5.2", + "zendframework/zend-version": "^2.5" + }, + "suggest": { + "doctrine/data-fixtures": "Data Fixtures if you want to generate test data or bootstrap data for your deployments" + }, + "bin": [ + "bin/doctrine-module" + ], + "type": "library", + "autoload": { + "psr-0": { + "DoctrineModule\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Spraggs", + "email": "theman@spiffyjr.me", + "homepage": "http://www.spiffyjr.me/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@hotmail.com" + }, + { + "name": "Michaël Gallego", + "email": "mic.gallego@gmail.com", + "homepage": "http://www.michaelgallego.fr" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://marco-pivetta.com/" + } + ], + "description": "Zend Framework 2 Module that provides Doctrine basic functionality required for ORM and ODM modules", + "homepage": "http://www.doctrine-project.org/", + "keywords": [ + "doctrine", + "module", + "zf2" + ], + "time": "2016-07-03 13:37:59" + }, + { + "name": "doctrine/doctrine-orm-module", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineORMModule.git", + "reference": "6332c3bd5cc9b8907d5e78776a95c9a2236b9e15" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineORMModule/zipball/6332c3bd5cc9b8907d5e78776a95c9a2236b9e15", + "reference": "6332c3bd5cc9b8907d5e78776a95c9a2236b9e15", + "shasum": "" + }, + "require": { + "doctrine/dbal": ">=2.4,<2.7", + "doctrine/doctrine-module": "~1.0", + "doctrine/orm": ">=2.5,<2.7", + "php": "^5.5 || ^7.0", + "symfony/console": "~2.5|~3.0", + "zendframework/zend-hydrator": "^1.1", + "zendframework/zend-mvc": "^2.5.2", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-stdlib": "^2.7.6" + }, + "require-dev": { + "doctrine/data-fixtures": "1.0.*", + "doctrine/migrations": "1.0.*@dev", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2", + "zendframework/zend-code": "^2.5.2", + "zendframework/zend-config": "^2.6", + "zendframework/zend-console": "^2.6", + "zendframework/zend-developer-tools": "^1.0", + "zendframework/zend-i18n": "^2.6", + "zendframework/zend-log": "^2.5.2", + "zendframework/zend-modulemanager": "^2.6.1", + "zendframework/zend-serializer": "^2.6", + "zendframework/zend-view": "^2.5.2" + }, + "suggest": { + "doctrine/migrations": "doctrine migrations if you want to keep your schema definitions versioned", + "zendframework/zend-developer-tools": "zend-developer-tools if you want to profile operations executed by the ORM during development", + "zendframework/zend-form": "if you want to use form elements backed by Doctrine" + }, + "type": "library", + "autoload": { + "psr-0": { + "DoctrineORMModule\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Spraggs", + "email": "theman@spiffyjr.me", + "homepage": "http://www.spiffyjr.me/" + }, + { + "name": "Evan Coury", + "email": "me@evancoury.com", + "homepage": "http://blog.evan.pro/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@hotmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://marco-pivetta.com/" + } + ], + "description": "Zend Framework 2 Module that provides Doctrine ORM functionality", + "homepage": "http://www.doctrine-project.org/", + "keywords": [ + "doctrine", + "module", + "orm", + "zf2" + ], + "time": "2016-07-14 07:57:58" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06 14:35:42" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14 21:17:01" + }, + { + "name": "doctrine/lexer", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", + "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2014-09-09 13:34:57" + }, + { + "name": "doctrine/orm", + "version": "v2.5.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/doctrine2.git", + "reference": "bc4ddbfb0114cb33438cc811c9a740d8aa304aab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/bc4ddbfb0114cb33438cc811c9a740d8aa304aab", + "reference": "bc4ddbfb0114cb33438cc811c9a740d8aa304aab", + "shasum": "" + }, + "require": { + "doctrine/cache": "~1.4", + "doctrine/collections": "~1.2", + "doctrine/common": ">=2.5-dev,<2.7-dev", + "doctrine/dbal": ">=2.5-dev,<2.6-dev", + "doctrine/instantiator": "~1.0.1", + "ext-pdo": "*", + "php": ">=5.4", + "symfony/console": "~2.5|~3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "symfony/yaml": "~2.3|~3.0" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine", + "bin/doctrine.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\ORM\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2016-01-05 21:34:58" + }, + { + "name": "symfony/console", + "version": "v3.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "f9e638e8149e9e41b570ff092f8007c477ef0ce5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/f9e638e8149e9e41b570ff092f8007c477ef0ce5", + "reference": "f9e638e8149e9e41b570ff092f8007c477ef0ce5", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-07-26 08:04:17" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "dff51f72b0706335131b00a7f49606168c582594" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", + "reference": "dff51f72b0706335131b00a7f49606168c582594", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18 14:26:46" + }, + { + "name": "zendframework/zend-authentication", + "version": "2.5.3", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-authentication.git", + "reference": "1422dec160eb769c719cad2229847fcbf20a1405" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-authentication/zipball/1422dec160eb769c719cad2229847fcbf20a1405", + "reference": "1422dec160eb769c719cad2229847fcbf20a1405", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-crypt": "^2.6", + "zendframework/zend-db": "^2.7", + "zendframework/zend-http": "^2.5.4", + "zendframework/zend-ldap": "^2.6", + "zendframework/zend-session": "^2.6.2", + "zendframework/zend-uri": "^2.5", + "zendframework/zend-validator": "^2.6" + }, + "suggest": { + "zendframework/zend-crypt": "Zend\\Crypt component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http component", + "zendframework/zend-ldap": "Zend\\Ldap component", + "zendframework/zend-session": "Zend\\Session component", + "zendframework/zend-uri": "Zend\\Uri component", + "zendframework/zend-validator": "Zend\\Validator component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev", + "dev-develop": "2.6-dev" + } + }, + "autoload": { + "psr-4": { + "Zend\\Authentication\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "provides an API for authentication and includes concrete authentication adapters for common use case scenarios", + "homepage": "https://github.com/zendframework/zend-authentication", + "keywords": [ + "Authentication", + "zf2" + ], + "time": "2016-02-28 15:02:34" + }, + { + "name": "zendframework/zend-paginator", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-paginator.git", + "reference": "42211f3e1e8230953c641e91fec5aa9fe964eb95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-paginator/zipball/42211f3e1e8230953c641e91fec5aa9fe964eb95", + "reference": "42211f3e1e8230953c641e91fec5aa9fe964eb95", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "zendframework/zend-stdlib": "^2.7 || ^3.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "1.7.*", + "phpunit/phpunit": "~4.0", + "zendframework/zend-cache": "^2.6.1", + "zendframework/zend-config": "^2.6.0", + "zendframework/zend-db": "^2.7", + "zendframework/zend-filter": "^2.6.1", + "zendframework/zend-json": "^2.6.1", + "zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3", + "zendframework/zend-view": "^2.6.3" + }, + "suggest": { + "zendframework/zend-cache": "Zend\\Cache component to support cache features", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-filter": "Zend\\Filter component", + "zendframework/zend-json": "Zend\\Json component", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component", + "zendframework/zend-view": "Zend\\View component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev", + "dev-develop": "2.8-dev" + }, + "zf": { + "component": "Zend\\Paginator", + "config-provider": "Zend\\Paginator\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Zend\\Paginator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "homepage": "https://github.com/zendframework/zend-paginator", + "keywords": [ + "paginator", + "zf2" + ], + "time": "2016-04-11 21:18:13" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^5.5 || ^7.0" + }, + "platform-dev": [] +} diff --git a/config/module.config.php b/config/module.config.php index 24e84e8..fed1834 100644 --- a/config/module.config.php +++ b/config/module.config.php @@ -1,102 +1,104 @@ array( - 'router' => array( - 'routes' => array( - 'cache-list' => array( - 'options' => array( - 'route' => 'cache --list', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\CacheController', - 'action' => 'list' - ), - ), - ), - 'cache-status' => array( - 'options' => array( - 'route' => 'cache --status [] [-h]', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\CacheController', - 'action' => 'status' - ), - ), - ), - 'cache-status-list' => array( - 'options' => array( - 'route' => 'cache --status --list [-h]', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\CacheController', - 'action' => 'status-list' - ), - ), - ), - 'cache-clear' => array( - 'options' => array( - 'route' => 'cache (--clear|--flush):mode [--force|-f] [] [--expired|-e] [--by-namespace=] [--by-prefix=]', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\CacheController', - 'action' => 'clear' - ), - ), - ), - 'cache-optimize' => array( - 'options' => array( - 'route' => 'cache --optimize []', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\CacheController', - 'action' => 'optimize' - ), - ), - ), +namespace Soflomo\Cache; - 'fw-cache-config' => array( - 'options' => array( - 'route' => 'cache --clear-config', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\FwCacheController', - 'action' => 'clear-config' - ), - ), - ), - 'fw-cache-module' => array( - 'options' => array( - 'route' => 'cache --clear-module-map', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\FwCacheController', - 'action' => 'clear-module-map' - ), - ), - ), - 'opcode-cache-clear' => array( - 'options' => array( - 'route' => 'cache --clear-opcode', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\OpcodeCacheController', - 'action' => 'clear', - ), - ), - ), +return [ + 'console' => [ + 'router' => [ + 'routes' => [ + 'cache-list' => [ + 'options' => [ + 'route' => 'cache --list', + 'defaults' => [ + 'controller' => Controller\CacheController::class, + 'action' => 'list', + ], + ], + ], + 'cache-status' => [ + 'options' => [ + 'route' => 'cache --status [] [-h]', + 'defaults' => [ + 'controller' => Controller\CacheController::class, + 'action' => 'status', + ], + ], + ], + 'cache-status-list' => [ + 'options' => [ + 'route' => 'cache --status --list [-h]', + 'defaults' => [ + 'controller' => Controller\CacheController::class, + 'action' => 'status-list', + ], + ], + ], + 'cache-clear' => [ + 'options' => [ + 'route' => 'cache (--clear|--flush):mode [--force|-f] [] [--expired|-e] [--by-namespace=] [--by-prefix=]', + 'defaults' => [ + 'controller' => Controller\CacheController::class, + 'action' => 'clear', + ], + ], + ], + 'cache-optimize' => [ + 'options' => [ + 'route' => 'cache --optimize []', + 'defaults' => [ + 'controller' => Controller\CacheController::class, + 'action' => 'optimize', + ], + ], + ], - 'doctrine-cache-flush' => array( - 'options' => array( - 'route' => 'cache --clear-doctrine [--query|-q] [--result|-r] [--metadata|-m] [--hydration|-h]', - 'defaults' => array( - 'controller' => 'Soflomo\Cache\Controller\DoctrineCacheController', - 'action' => 'flush', - ), - ), - ), - ), - ), - ), + 'fw-cache-config' => [ + 'options' => [ + 'route' => 'cache --clear-config', + 'defaults' => [ + 'controller' => Controller\FwCacheController::class, + 'action' => 'clear-config', + ], + ], + ], + 'fw-cache-module' => [ + 'options' => [ + 'route' => 'cache --clear-module-map', + 'defaults' => [ + 'controller' => Controller\FwCacheController::class, + 'action' => 'clear-module-map', + ], + ], + ], + 'opcode-cache-clear' => [ + 'options' => [ + 'route' => 'cache --clear-opcode', + 'defaults' => [ + 'controller' => Controller\OpcodeCacheController::class, + 'action' => 'clear', + ], + ], + ], - 'controllers' => array( - 'invokables' => array( - 'Soflomo\Cache\Controller\CacheController' => 'Soflomo\Cache\Controller\CacheController', - 'Soflomo\Cache\Controller\FwCacheController' => 'Soflomo\Cache\Controller\FwCacheController', - 'Soflomo\Cache\Controller\OpcodeCacheController' => 'Soflomo\Cache\Controller\OpcodeCacheController', - 'Soflomo\Cache\Controller\DoctrineCacheController' => 'Soflomo\Cache\Controller\DoctrineCacheController', - ), - ), -); + 'doctrine-cache-flush' => [ + 'options' => [ + 'route' => 'cache --clear-doctrine [--query|-q] [--result|-r] [--metadata|-m] [--hydration|-h]', + 'defaults' => [ + 'controller' => Controller\DoctrineCacheController::class, + 'action' => 'flush', + ], + ], + ], + ], + ], + ], + + 'controllers' => [ + 'factories' => [ + Controller\CacheController::class => Controller\CacheControllerFactory::class, + Controller\FwCacheController::class => Controller\FwCacheControllerFactory::class, + Controller\OpcodeCacheController::class => Controller\OpcodeCacheController::class, + Controller\DoctrineCacheController::class => Controller\DoctrineCacheController::class, + ], + ], +]; diff --git a/src/Soflomo/Cache/Controller/CacheController.php b/src/Controller/CacheController.php similarity index 81% rename from src/Soflomo/Cache/Controller/CacheController.php rename to src/Controller/CacheController.php index 4358e0d..9c802cd 100644 --- a/src/Soflomo/Cache/Controller/CacheController.php +++ b/src/Controller/CacheController.php @@ -40,8 +40,9 @@ namespace Soflomo\Cache\Controller; +use Interop\Container\ContainerInterface; +use Zend\Console\Adapter\AdapterInterface as Console; use Zend\Mvc\Controller\AbstractActionController; - use Zend\Cache\Storage\ClearExpiredInterface; use Zend\Cache\Storage\ClearByNamespaceInterface; use Zend\Cache\Storage\ClearByPrefixInterface; @@ -49,13 +50,33 @@ use Zend\Cache\Storage\AvailableSpaceCapableInterface; use Zend\Cache\Storage\TotalSpaceCapableInterface; use Zend\Cache\Storage\StorageInterface; - use Zend\Console\ColorInterface as Color; -use Zend\Console\Prompt\Select as ConsoleSelect; use Zend\Console\Prompt\Confirm as ConsoleConfirm; +use Zend\Console\Prompt\Number as ConsoleNumber; class CacheController extends AbstractActionController { + /** + * @var Console + */ + protected $console; + /** + * @var ContainerInterface + */ + protected $container; + + /** + * CacheController constructor. + * + * @param Console $console + * @param ContainerInterface $container + */ + public function __construct(Console $console, ContainerInterface $container) + { + $this->console = $console; + $this->container = $container; + } + public function listAction() { $console = $this->getConsole(); @@ -78,12 +99,12 @@ public function statusAction() public function statusListAction() { $console = $this->getConsole(); - $caches = array_keys($this->getcaches()); + $caches = array_keys($this->getCaches()); foreach ($caches as $name) { $console->writeLine('Status information for ' . $name); - $cache = $this->getServiceLocator()->get($name); + $cache = $this->container->get($name); $this->writeCacheStatus($cache); $console->writeLine(''); @@ -210,8 +231,9 @@ public function optimizeAction() if (!$cache instanceof OptimizableInterface) { $type = get_class($cache); $type = substr($type, strrpos($type, '\\') + 1); - throw new \Exception(sprintf( - 'The cache type %s does not support optimizing', strtolower($type) + throw new \RuntimeException(sprintf( + 'The cache type %s does not support optimizing', + strtolower($type) )); } @@ -233,9 +255,9 @@ protected function getCache() $name = $this->getCacheName(); } - $cache = $this->getServiceLocator()->get($name); + $cache = $this->container->get($name); if (!$cache instanceof StorageInterface) { - throw new \Exception('Cache is not a cache storage'); + throw new \RuntimeException('Cache is not a cache storage'); } return $cache; @@ -245,7 +267,7 @@ protected function getCacheName() { $caches = $this->getCaches(); if (count($caches) === 0) { - throw new \Exception('No abstract caches registerd to select'); + throw new \RuntimeException('No abstract caches registered to select'); } if (count($caches) === 1) { @@ -258,27 +280,45 @@ protected function getCacheName() array_unshift($options, null); unset($options[0]); - $answer = ConsoleSelect::prompt( - 'You have multiple caches defined, please select one', - $options - ); + $this->getConsole()->writeLine('You have multiple caches defined, please select one'); + + foreach ($options as $index => $name) { + $this->getConsole()->writeLine(sprintf('%d) %s', $index, $name)); + } + + do { + $answer = (int)ConsoleNumber::prompt( + 'Please enter a selection: ', + false, + false, + 1, + count($options) + ); + + if (!array_key_exists($answer, $options)) { + $this->getConsole()->writeLine('Invalid selection', Color::WHITE, Color::RED); + } + } while (!array_key_exists($answer, $options)); return $options[$answer]; } protected function getCaches() { - $config = $this->getServiceLocator()->get('Config'); + $config = $this->container->get('config'); if (!array_key_exists('caches', $config)) { - throw new \Exception('No abstract caches registerd to select'); + throw new \RuntimeException('No abstract caches registerd to select'); } return $config['caches']; } + /** + * @return Console + */ protected function getConsole() { - return $this->getServiceLocator()->get('console'); + return $this->console; } } diff --git a/src/Controller/CacheControllerFactory.php b/src/Controller/CacheControllerFactory.php new file mode 100644 index 0000000..a3bc7da --- /dev/null +++ b/src/Controller/CacheControllerFactory.php @@ -0,0 +1,85 @@ + + * @copyright 2013-2014 Soflomo. + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @link http://soflomo.com + */ + +namespace Soflomo\Cache\Controller; + +use Interop\Container\ContainerInterface; +use Interop\Container\Exception\ContainerException; +use Zend\ServiceManager\AbstractPluginManager; +use Zend\ServiceManager\Exception\ServiceNotCreatedException; +use Zend\ServiceManager\Exception\ServiceNotFoundException; +use Zend\ServiceManager\FactoryInterface; +use Zend\ServiceManager\ServiceLocatorInterface; + +class CacheControllerFactory implements FactoryInterface +{ + + /** + * Create service + * + * @param ServiceLocatorInterface $serviceLocator + * @return CacheController + */ + public function createService(ServiceLocatorInterface $serviceLocator) + { + if ($serviceLocator instanceof AbstractPluginManager) { + $serviceLocator = $serviceLocator->getServiceLocator() ?: $serviceLocator; + } + + return $this($serviceLocator, CacheController::class); + } + + /** + * Create an object + * + * @param ContainerInterface $container + * @param string $requestedName + * @param null|array $options + * @return CacheController + * @throws ServiceNotFoundException if unable to resolve the service. + * @throws ServiceNotCreatedException if an exception is raised when + * creating a service. + * @throws ContainerException if any other error occurs + */ + public function __invoke(ContainerInterface $container, $requestedName, array $options = null) + { + return new CacheController($container->get('console'), $container); + } +} diff --git a/src/Soflomo/Cache/Controller/DoctrineCacheController.php b/src/Controller/DoctrineCacheController.php similarity index 77% rename from src/Soflomo/Cache/Controller/DoctrineCacheController.php rename to src/Controller/DoctrineCacheController.php index 1b89f4c..ec8a19d 100644 --- a/src/Soflomo/Cache/Controller/DoctrineCacheController.php +++ b/src/Controller/DoctrineCacheController.php @@ -40,14 +40,40 @@ namespace Soflomo\Cache\Controller; +use Doctrine\ORM\EntityManager; +use Interop\Container\ContainerInterface; +use Zend\Console\Adapter\AdapterInterface as Console; use Zend\Mvc\Controller\AbstractActionController; class DoctrineCacheController extends AbstractActionController { + /** + * @var Console + */ + protected $console; + /** + * @var ContainerInterface + */ + protected $container; + + /** + * DoctrineCacheController constructor. + * + * @param Console $console + * @param ContainerInterface $container + */ + public function __construct(Console $console, ContainerInterface $container) + { + $this->console = $console; + $this->container = $container; + } + public function flushAction() { + $em = $this->params('em') ?: 'orm_default'; + $console = $this->getConsole(); - $config = $this->getObjectManager()->getConfiguration(); + $config = $this->getObjectManager($em)->getConfiguration(); // All is true when no other params are given $all = !$this->params('query') && !$this->params('q') @@ -85,13 +111,20 @@ public function flushAction() } } + /** + * @return Console + */ protected function getConsole() { - return $this->getServiceLocator()->get('console'); + return $this->console; } - protected function getObjectManager() + /** + * @param string $name (default: 'orm_default') + * @return EntityManager + */ + protected function getObjectManager($name = 'orm_default') { - return $this->getServiceLocator()->get('doctrine.entitymanager.orm_default'); + return $this->container->get(sprintf('doctrine.entitymanager.%s', $name)); } } diff --git a/src/Controller/DoctrineCacheControllerFactory.php b/src/Controller/DoctrineCacheControllerFactory.php new file mode 100644 index 0000000..96bb587 --- /dev/null +++ b/src/Controller/DoctrineCacheControllerFactory.php @@ -0,0 +1,85 @@ + + * @copyright 2013-2014 Soflomo. + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @link http://soflomo.com + */ + +namespace Soflomo\Cache\Controller; + +use Interop\Container\ContainerInterface; +use Interop\Container\Exception\ContainerException; +use Zend\ServiceManager\AbstractPluginManager; +use Zend\ServiceManager\Exception\ServiceNotCreatedException; +use Zend\ServiceManager\Exception\ServiceNotFoundException; +use Zend\ServiceManager\FactoryInterface; +use Zend\ServiceManager\ServiceLocatorInterface; + +class DoctrineCacheControllerFactory implements FactoryInterface +{ + + /** + * Create service + * + * @param ServiceLocatorInterface $serviceLocator + * @return DoctrineCacheController + */ + public function createService(ServiceLocatorInterface $serviceLocator) + { + if ($serviceLocator instanceof AbstractPluginManager) { + $serviceLocator = $serviceLocator->getServiceLocator() ?: $serviceLocator; + } + + return $this($serviceLocator, DoctrineCacheController::class); + } + + /** + * Create an object + * + * @param ContainerInterface $container + * @param string $requestedName + * @param null|array $options + * @return DoctrineCacheController + * @throws ServiceNotFoundException if unable to resolve the service. + * @throws ServiceNotCreatedException if an exception is raised when + * creating a service. + * @throws ContainerException if any other error occurs + */ + public function __invoke(ContainerInterface $container, $requestedName, array $options = null) + { + return new DoctrineCacheController($container->get('console'), $container); + } +} diff --git a/src/Soflomo/Cache/Controller/FwCacheController.php b/src/Controller/FwCacheController.php similarity index 84% rename from src/Soflomo/Cache/Controller/FwCacheController.php rename to src/Controller/FwCacheController.php index b06070c..85b89db 100644 --- a/src/Soflomo/Cache/Controller/FwCacheController.php +++ b/src/Controller/FwCacheController.php @@ -40,12 +40,35 @@ namespace Soflomo\Cache\Controller; +use Interop\Container\ContainerInterface; use Zend\Console\ColorInterface as Color; use Zend\Mvc\Controller\AbstractActionController; use Zend\ModuleManager\Listener\ListenerOptions; +use Zend\Console\Adapter\AdapterInterface as Console; class FwCacheController extends AbstractActionController { + /** + * @var Console + */ + protected $console; + /** + * @var ContainerInterface + */ + protected $container; + + /** + * FwCacheController constructor. + * + * @param Console $console + * @param ContainerInterface $container + */ + public function __construct(Console $console, ContainerInterface $container) + { + $this->console = $console; + $this->container = $container; + } + public function clearConfigAction() { $console = $this->getConsole(); @@ -90,14 +113,20 @@ public function clearModuleMapAction() )); } + /** + * @return Console + */ protected function getConsole() { - return $this->getServiceLocator()->get('console'); + return $this->console; } + /** + * @return ListenerOptions + */ protected function getOptions() { - $serviceLocator = $this->getServiceLocator(); + $serviceLocator = $this->container; $configuration = $serviceLocator->get('ApplicationConfig'); $listenerOptions = new ListenerOptions($configuration['module_listener_options']); diff --git a/src/Controller/FwCacheControllerFactory.php b/src/Controller/FwCacheControllerFactory.php new file mode 100644 index 0000000..8084553 --- /dev/null +++ b/src/Controller/FwCacheControllerFactory.php @@ -0,0 +1,85 @@ + + * @copyright 2013-2014 Soflomo. + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @link http://soflomo.com + */ + +namespace Soflomo\Cache\Controller; + +use Interop\Container\ContainerInterface; +use Interop\Container\Exception\ContainerException; +use Zend\ServiceManager\AbstractPluginManager; +use Zend\ServiceManager\Exception\ServiceNotCreatedException; +use Zend\ServiceManager\Exception\ServiceNotFoundException; +use Zend\ServiceManager\FactoryInterface; +use Zend\ServiceManager\ServiceLocatorInterface; + +class FwCacheControllerFactory implements FactoryInterface +{ + + /** + * Create service + * + * @param ServiceLocatorInterface $serviceLocator + * @return FwCacheController + */ + public function createService(ServiceLocatorInterface $serviceLocator) + { + if ($serviceLocator instanceof AbstractPluginManager) { + $serviceLocator = $serviceLocator->getServiceLocator() ?: $serviceLocator; + } + + return $this($serviceLocator, FwCacheController::class); + } + + /** + * Create an object + * + * @param ContainerInterface $container + * @param string $requestedName + * @param null|array $options + * @return FwCacheController + * @throws ServiceNotFoundException if unable to resolve the service. + * @throws ServiceNotCreatedException if an exception is raised when + * creating a service. + * @throws ContainerException if any other error occurs + */ + public function __invoke(ContainerInterface $container, $requestedName, array $options = null) + { + return new FwCacheController($container->get('console'), $container); + } +} diff --git a/src/Soflomo/Cache/Controller/OpcodeCacheController.php b/src/Controller/OpcodeCacheController.php similarity index 91% rename from src/Soflomo/Cache/Controller/OpcodeCacheController.php rename to src/Controller/OpcodeCacheController.php index fdb40e1..3ef243c 100644 --- a/src/Soflomo/Cache/Controller/OpcodeCacheController.php +++ b/src/Controller/OpcodeCacheController.php @@ -41,13 +41,26 @@ namespace Soflomo\Cache\Controller; use Zend\Mvc\Controller\AbstractActionController; - use Zend\Console\ColorInterface as Color; -use Zend\Console\Prompt\Select as ConsoleSelect; -use Zend\Console\Prompt\Confirm as ConsoleConfirm; +use Zend\Console\Adapter\AdapterInterface as Console; class OpcodeCacheController extends AbstractActionController { + /** + * @var Console + */ + protected $console; + + /** + * OpcodeCacheController constructor. + * + * @param Console $console + */ + public function __construct(Console $console) + { + $this->console = $console; + } + public function clearAction() { if (PHP_VERSION_ID < 50500) { @@ -115,8 +128,11 @@ protected function clearApc() $console->writeLine(sprintf('%s APC files cleared', count($scripts)), Color::GREEN); } + /** + * @return Console + */ protected function getConsole() { - return $this->getServiceLocator()->get('console'); + return $this->console; } } diff --git a/src/Controller/OpcodeCacheControllerFactory.php b/src/Controller/OpcodeCacheControllerFactory.php new file mode 100644 index 0000000..65bfb5c --- /dev/null +++ b/src/Controller/OpcodeCacheControllerFactory.php @@ -0,0 +1,85 @@ + + * @copyright 2013-2014 Soflomo. + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @link http://soflomo.com + */ + +namespace Soflomo\Cache\Controller; + +use Interop\Container\ContainerInterface; +use Interop\Container\Exception\ContainerException; +use Zend\ServiceManager\AbstractPluginManager; +use Zend\ServiceManager\Exception\ServiceNotCreatedException; +use Zend\ServiceManager\Exception\ServiceNotFoundException; +use Zend\ServiceManager\FactoryInterface; +use Zend\ServiceManager\ServiceLocatorInterface; + +class OpcodeCacheControllerFactory implements FactoryInterface +{ + + /** + * Create service + * + * @param ServiceLocatorInterface $serviceLocator + * @return OpcodeCacheController + */ + public function createService(ServiceLocatorInterface $serviceLocator) + { + if ($serviceLocator instanceof AbstractPluginManager) { + $serviceLocator = $serviceLocator->getServiceLocator() ?: $serviceLocator; + } + + return $this($serviceLocator, OpcodeCacheController::class); + } + + /** + * Create an object + * + * @param ContainerInterface $container + * @param string $requestedName + * @param null|array $options + * @return OpcodeCacheController + * @throws ServiceNotFoundException if unable to resolve the service. + * @throws ServiceNotCreatedException if an exception is raised when + * creating a service. + * @throws ContainerException if any other error occurs + */ + public function __invoke(ContainerInterface $container, $requestedName, array $options = null) + { + return new OpcodeCacheController($container->get('console')); + } +} diff --git a/src/Module.php b/src/Module.php new file mode 100644 index 0000000..06ec747 --- /dev/null +++ b/src/Module.php @@ -0,0 +1,118 @@ + + * @copyright 2013-2014 Soflomo. + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + * @link http://soflomo.com + */ + +namespace Soflomo\Cache; + +use Zend\Loader; +use Zend\ModuleManager\Feature; +use Zend\Console\Adapter\AdapterInterface as Console; + +class Module implements + Feature\ConfigProviderInterface, + Feature\AutoloaderProviderInterface, + Feature\ConsoleUsageProviderInterface +{ + public function getAutoloaderConfig() + { + return array( + Loader\AutoloaderFactory::STANDARD_AUTOLOADER => array( + Loader\StandardAutoloader::LOAD_NS => array( + __NAMESPACE__ => __DIR__ . '/src/Soflomo/Cache', + ), + ), + ); + } + + public function getConfig() + { + return include __DIR__ . '/../config/module.config.php'; + } + + public function getConsoleUsage(Console $console) + { + $usage = array( + 'Clear', + 'cache --flush [--force|-f] []' => 'Flush complete cache', + 'cache --clear [--force|-f] [] --expired|-e' => 'Clear expired cache', + 'cache --clear [--force|-f] [] --by-namespace=' => 'Clear cache by namespace', + 'cache --clear [--force|-f] [] --by-prefix=' => 'Clear cache by prefix', + + array('', 'Optional service name of the cache'), + array('--expired|-e', 'Clear all expired items in cache'), + array('--by-namespace=', 'Clear all items in cache with given namespace'), + array('--by-prefix=', 'Clear all items in cache with given prefix'), + array('--force|-f', 'Force clearing, without asking confirmation'), + + 'Optimize', + 'cache --optimize []' => 'Optimize cache', + + array('', 'Optional service name of the cache'), + + 'Status information', + 'cache --status [] [-h]' => 'Show (storage) information about the cache', + + array('', 'Optional service name of the cache'), + array('-h', 'Show status in human readable output'), + + 'Application configuration files', + 'cache --clear-config' => 'Clear the merged configuration file', + 'cache --clear-module-map' => 'Clear the module map', + ); + + if (class_exists('Doctrine\\ORM\\Configuration')) { + $usage = array_merge($usage, array( + 'Doctrine cache', + 'cache --clear-doctrine [--em=]' => 'Flush all Doctrine caches', + 'cache --clear-doctrine [--em=] [--query|-q]' => 'Flush Doctrine query cache', + 'cache --clear-doctrine [--em=] [--result|-r]' => 'Flush Doctrine result cache', + 'cache --clear-doctrine [--em=] [--metadata|-m]' => 'Flush Doctrine metadata cache', + 'cache --clear-doctrine [--em=] [--hydration|-h]' => 'Flush Doctrine hydration cache', + + array('--em', 'Entity manager name (default: orm_default)'), + array('--query|-q', 'Clear only Doctrine query cache'), + array('--result|-r', 'Clear only Doctrine result cache'), + array('--metadata|-m', 'Clear only Doctrine metadata cache'), + array('--hydration|-h', 'Clear only Doctrine hydration cache'), + )); + } + + return $usage; + } +}