Upgrade to 3.3.6
This commit is contained in:
@@ -81,186 +81,51 @@ return [
|
||||
'Zend\\XmlRpc' => 'Laminas\\XmlRpc',
|
||||
'ZendOAuth' => 'Laminas\\OAuth',
|
||||
|
||||
'Zend\\\\AuraDi\\\\Config' => 'Laminas\\\\AuraDi\\\\Config',
|
||||
'Zend\\\\Authentication' => 'Laminas\\\\Authentication',
|
||||
'Zend\\\\Barcode' => 'Laminas\\\\Barcode',
|
||||
'Zend\\\\Cache' => 'Laminas\\\\Cache',
|
||||
'Zend\\\\Captcha' => 'Laminas\\\\Captcha',
|
||||
'Zend\\\\Code' => 'Laminas\\\\Code',
|
||||
'ZendCodingStandard\\\\Sniffs' => 'LaminasCodingStandard\\\\Sniffs',
|
||||
'ZendCodingStandard\\\\Utils' => 'LaminasCodingStandard\\\\Utils',
|
||||
'Zend\\\\ComponentInstaller' => 'Laminas\\\\ComponentInstaller',
|
||||
'Zend\\\\Config' => 'Laminas\\\\Config',
|
||||
'Zend\\\\ConfigAggregator' => 'Laminas\\\\ConfigAggregator',
|
||||
'Zend\\\\ConfigAggregatorModuleManager' => 'Laminas\\\\ConfigAggregatorModuleManager',
|
||||
'Zend\\\\ConfigAggregatorParameters' => 'Laminas\\\\ConfigAggregatorParameters',
|
||||
'Zend\\\\Console' => 'Laminas\\\\Console',
|
||||
'Zend\\\\ContainerConfigTest' => 'Laminas\\\\ContainerConfigTest',
|
||||
'Zend\\\\Crypt' => 'Laminas\\\\Crypt',
|
||||
'Zend\\\\Db' => 'Laminas\\\\Db',
|
||||
'Zend\\\\Di' => 'Laminas\\\\Di',
|
||||
'Zend\\\\Diactoros' => 'Laminas\\\\Diactoros',
|
||||
'ZendDiagnostics\\\\Check' => 'Laminas\\\\Diagnostics\\\\Check',
|
||||
'ZendDiagnostics\\\\Result' => 'Laminas\\\\Diagnostics\\\\Result',
|
||||
'ZendDiagnostics\\\\Runner' => 'Laminas\\\\Diagnostics\\\\Runner',
|
||||
'Zend\\\\Dom' => 'Laminas\\\\Dom',
|
||||
'Zend\\\\Escaper' => 'Laminas\\\\Escaper',
|
||||
'Zend\\\\EventManager' => 'Laminas\\\\EventManager',
|
||||
'Zend\\\\Feed' => 'Laminas\\\\Feed',
|
||||
'Zend\\\\File' => 'Laminas\\\\File',
|
||||
'Zend\\\\Filter' => 'Laminas\\\\Filter',
|
||||
'Zend\\\\Form' => 'Laminas\\\\Form',
|
||||
'Zend\\\\Http' => 'Laminas\\\\Http',
|
||||
'Zend\\\\HttpHandlerRunner' => 'Laminas\\\\HttpHandlerRunner',
|
||||
'Zend\\\\Hydrator' => 'Laminas\\\\Hydrator',
|
||||
'Zend\\\\I18n' => 'Laminas\\\\I18n',
|
||||
'Zend\\\\InputFilter' => 'Laminas\\\\InputFilter',
|
||||
'Zend\\\\Json' => 'Laminas\\\\Json',
|
||||
'Zend\\\\Ldap' => 'Laminas\\\\Ldap',
|
||||
'Zend\\\\Loader' => 'Laminas\\\\Loader',
|
||||
'Zend\\\\Log' => 'Laminas\\\\Log',
|
||||
'Zend\\\\Mail' => 'Laminas\\\\Mail',
|
||||
'Zend\\\\Math' => 'Laminas\\\\Math',
|
||||
'Zend\\\\Memory' => 'Laminas\\\\Memory',
|
||||
'Zend\\\\Mime' => 'Laminas\\\\Mime',
|
||||
'Zend\\\\ModuleManager' => 'Laminas\\\\ModuleManager',
|
||||
'Zend\\\\Mvc' => 'Laminas\\\\Mvc',
|
||||
'Zend\\\\Navigation' => 'Laminas\\\\Navigation',
|
||||
'Zend\\\\Paginator' => 'Laminas\\\\Paginator',
|
||||
'Zend\\\\Permissions' => 'Laminas\\\\Permissions',
|
||||
'Zend\\\\Pimple\\\\Config' => 'Laminas\\\\Pimple\\\\Config',
|
||||
'Zend\\\\ProblemDetails' => 'Mezzio\\\\ProblemDetails',
|
||||
'Zend\\\\ProgressBar' => 'Laminas\\\\ProgressBar',
|
||||
'Zend\\\\Psr7Bridge' => 'Laminas\\\\Psr7Bridge',
|
||||
'Zend\\\\Router' => 'Laminas\\\\Router',
|
||||
'Zend\\\\Serializer' => 'Laminas\\\\Serializer',
|
||||
'Zend\\\\Server' => 'Laminas\\\\Server',
|
||||
'Zend\\\\ServiceManager' => 'Laminas\\\\ServiceManager',
|
||||
'ZendService\\\\ReCaptcha' => 'Laminas\\\\ReCaptcha',
|
||||
'ZendService\\\\Twitter' => 'Laminas\\\\Twitter',
|
||||
'Zend\\\\Session' => 'Laminas\\\\Session',
|
||||
'Zend\\\\SkeletonInstaller' => 'Laminas\\\\SkeletonInstaller',
|
||||
'Zend\\\\Soap' => 'Laminas\\\\Soap',
|
||||
'Zend\\\\Stdlib' => 'Laminas\\\\Stdlib',
|
||||
'Zend\\\\Stratigility' => 'Laminas\\\\Stratigility',
|
||||
'Zend\\\\Tag' => 'Laminas\\\\Tag',
|
||||
'Zend\\\\Test' => 'Laminas\\\\Test',
|
||||
'Zend\\\\Text' => 'Laminas\\\\Text',
|
||||
'Zend\\\\Uri' => 'Laminas\\\\Uri',
|
||||
'Zend\\\\Validator' => 'Laminas\\\\Validator',
|
||||
'Zend\\\\View' => 'Laminas\\\\View',
|
||||
'Zend\\\\Xml2Json' => 'Laminas\\\\Xml2Json',
|
||||
'Zend\\\\XmlRpc' => 'Laminas\\\\XmlRpc',
|
||||
'ZendHttp' => 'LaminasHttp', // class ZendHttpClientDecorator in zend-feed
|
||||
'ZendModule' => 'LaminasModule', // class ZendModuleProvider in zend-config-aggregator-modulemanager
|
||||
'a\\Zend\\' => 'a\\Zend\\',
|
||||
'b\\Zend\\' => 'b\\Zend\\',
|
||||
'c\\Zend\\' => 'c\\Zend\\',
|
||||
'd\\Zend\\' => 'd\\Zend\\',
|
||||
'e\\Zend\\' => 'e\\Zend\\',
|
||||
'f\\Zend\\' => 'f\\Zend\\',
|
||||
'g\\Zend\\' => 'g\\Zend\\',
|
||||
'h\\Zend\\' => 'h\\Zend\\',
|
||||
'i\\Zend\\' => 'i\\Zend\\',
|
||||
'j\\Zend\\' => 'j\\Zend\\',
|
||||
'k\\Zend\\' => 'k\\Zend\\',
|
||||
'l\\Zend\\' => 'l\\Zend\\',
|
||||
'm\\Zend\\' => 'm\\Zend\\',
|
||||
'n\\Zend\\' => 'n\\Zend\\',
|
||||
'o\\Zend\\' => 'o\\Zend\\',
|
||||
'p\\Zend\\' => 'p\\Zend\\',
|
||||
'q\\Zend\\' => 'q\\Zend\\',
|
||||
'r\\Zend\\' => 'r\\Zend\\',
|
||||
's\\Zend\\' => 's\\Zend\\',
|
||||
't\\Zend\\' => 't\\Zend\\',
|
||||
'u\\Zend\\' => 'u\\Zend\\',
|
||||
'v\\Zend\\' => 'v\\Zend\\',
|
||||
'w\\Zend\\' => 'w\\Zend\\',
|
||||
'x\\Zend\\' => 'x\\Zend\\',
|
||||
'y\\Zend\\' => 'y\\Zend\\',
|
||||
'z\\Zend\\' => 'z\\Zend\\',
|
||||
'a\\ZendOAuth\\' => 'a\\ZendOAuth\\',
|
||||
'b\\ZendOAuth\\' => 'b\\ZendOAuth\\',
|
||||
'c\\ZendOAuth\\' => 'c\\ZendOAuth\\',
|
||||
'd\\ZendOAuth\\' => 'd\\ZendOAuth\\',
|
||||
'e\\ZendOAuth\\' => 'e\\ZendOAuth\\',
|
||||
'f\\ZendOAuth\\' => 'f\\ZendOAuth\\',
|
||||
'g\\ZendOAuth\\' => 'g\\ZendOAuth\\',
|
||||
'h\\ZendOAuth\\' => 'h\\ZendOAuth\\',
|
||||
'i\\ZendOAuth\\' => 'i\\ZendOAuth\\',
|
||||
'j\\ZendOAuth\\' => 'j\\ZendOAuth\\',
|
||||
'k\\ZendOAuth\\' => 'k\\ZendOAuth\\',
|
||||
'l\\ZendOAuth\\' => 'l\\ZendOAuth\\',
|
||||
'm\\ZendOAuth\\' => 'm\\ZendOAuth\\',
|
||||
'n\\ZendOAuth\\' => 'n\\ZendOAuth\\',
|
||||
'o\\ZendOAuth\\' => 'o\\ZendOAuth\\',
|
||||
'p\\ZendOAuth\\' => 'p\\ZendOAuth\\',
|
||||
'q\\ZendOAuth\\' => 'q\\ZendOAuth\\',
|
||||
'r\\ZendOAuth\\' => 'r\\ZendOAuth\\',
|
||||
's\\ZendOAuth\\' => 's\\ZendOAuth\\',
|
||||
't\\ZendOAuth\\' => 't\\ZendOAuth\\',
|
||||
'u\\ZendOAuth\\' => 'u\\ZendOAuth\\',
|
||||
'v\\ZendOAuth\\' => 'v\\ZendOAuth\\',
|
||||
'w\\ZendOAuth\\' => 'w\\ZendOAuth\\',
|
||||
'x\\ZendOAuth\\' => 'x\\ZendOAuth\\',
|
||||
'y\\ZendOAuth\\' => 'y\\ZendOAuth\\',
|
||||
'z\\ZendOAuth\\' => 'z\\ZendOAuth\\',
|
||||
'a\\ZendService\\' => 'a\\ZendService\\',
|
||||
'b\\ZendService\\' => 'b\\ZendService\\',
|
||||
'c\\ZendService\\' => 'c\\ZendService\\',
|
||||
'd\\ZendService\\' => 'd\\ZendService\\',
|
||||
'e\\ZendService\\' => 'e\\ZendService\\',
|
||||
'f\\ZendService\\' => 'f\\ZendService\\',
|
||||
'g\\ZendService\\' => 'g\\ZendService\\',
|
||||
'h\\ZendService\\' => 'h\\ZendService\\',
|
||||
'i\\ZendService\\' => 'i\\ZendService\\',
|
||||
'j\\ZendService\\' => 'j\\ZendService\\',
|
||||
'k\\ZendService\\' => 'k\\ZendService\\',
|
||||
'l\\ZendService\\' => 'l\\ZendService\\',
|
||||
'm\\ZendService\\' => 'm\\ZendService\\',
|
||||
'n\\ZendService\\' => 'n\\ZendService\\',
|
||||
'o\\ZendService\\' => 'o\\ZendService\\',
|
||||
'p\\ZendService\\' => 'p\\ZendService\\',
|
||||
'q\\ZendService\\' => 'q\\ZendService\\',
|
||||
'r\\ZendService\\' => 'r\\ZendService\\',
|
||||
's\\ZendService\\' => 's\\ZendService\\',
|
||||
't\\ZendService\\' => 't\\ZendService\\',
|
||||
'u\\ZendService\\' => 'u\\ZendService\\',
|
||||
'v\\ZendService\\' => 'v\\ZendService\\',
|
||||
'w\\ZendService\\' => 'w\\ZendService\\',
|
||||
'x\\ZendService\\' => 'x\\ZendService\\',
|
||||
'y\\ZendService\\' => 'y\\ZendService\\',
|
||||
'z\\ZendService\\' => 'z\\ZendService\\',
|
||||
'a\\ZendXml\\' => 'a\\ZendXml\\',
|
||||
'b\\ZendXml\\' => 'b\\ZendXml\\',
|
||||
'c\\ZendXml\\' => 'c\\ZendXml\\',
|
||||
'd\\ZendXml\\' => 'd\\ZendXml\\',
|
||||
'e\\ZendXml\\' => 'e\\ZendXml\\',
|
||||
'f\\ZendXml\\' => 'f\\ZendXml\\',
|
||||
'g\\ZendXml\\' => 'g\\ZendXml\\',
|
||||
'h\\ZendXml\\' => 'h\\ZendXml\\',
|
||||
'i\\ZendXml\\' => 'i\\ZendXml\\',
|
||||
'j\\ZendXml\\' => 'j\\ZendXml\\',
|
||||
'k\\ZendXml\\' => 'k\\ZendXml\\',
|
||||
'l\\ZendXml\\' => 'l\\ZendXml\\',
|
||||
'm\\ZendXml\\' => 'm\\ZendXml\\',
|
||||
'n\\ZendXml\\' => 'n\\ZendXml\\',
|
||||
'o\\ZendXml\\' => 'o\\ZendXml\\',
|
||||
'p\\ZendXml\\' => 'p\\ZendXml\\',
|
||||
'q\\ZendXml\\' => 'q\\ZendXml\\',
|
||||
'r\\ZendXml\\' => 'r\\ZendXml\\',
|
||||
's\\ZendXml\\' => 's\\ZendXml\\',
|
||||
't\\ZendXml\\' => 't\\ZendXml\\',
|
||||
'u\\ZendXml\\' => 'u\\ZendXml\\',
|
||||
'v\\ZendXml\\' => 'v\\ZendXml\\',
|
||||
'w\\ZendXml\\' => 'w\\ZendXml\\',
|
||||
'x\\ZendXml\\' => 'x\\ZendXml\\',
|
||||
'y\\ZendXml\\' => 'y\\ZendXml\\',
|
||||
'z\\ZendXml\\' => 'z\\ZendXml\\',
|
||||
// class ZendAcl in zend-expressive-authorization-acl
|
||||
'ZendAcl' => 'LaminasAcl',
|
||||
'Zend\\Expressive\\Authorization\\Acl\\ZendAcl' => 'Mezzio\\Authorization\\Acl\\LaminasAcl',
|
||||
// class ZendHttpClientDecorator in zend-feed
|
||||
'ZendHttp' => 'LaminasHttp',
|
||||
// class ZendModuleProvider in zend-config-aggregator-modulemanager
|
||||
'ZendModule' => 'LaminasModule',
|
||||
// class ZendRbac in zend-expressive-authorization-rbac
|
||||
'ZendRbac' => 'LaminasRbac',
|
||||
'Zend\\Expressive\\Authorization\\Rbac\\ZendRbac' => 'Mezzio\\Authorization\\Rbac\\LaminasRbac',
|
||||
// class ZendRouter in zend-expressive-router-zendrouter
|
||||
'ZendRouter' => 'LaminasRouter',
|
||||
'Zend\\Expressive\\Router\\ZendRouter' => 'Mezzio\\Router\\LaminasRouter',
|
||||
// class ZendViewRenderer in zend-expressive-zendviewrenderer
|
||||
'ZendViewRenderer' => 'LaminasViewRenderer',
|
||||
'Zend\\Expressive\\ZendView\\ZendViewRenderer' => 'Mezzio\\LaminasView\\LaminasViewRenderer',
|
||||
'a\\Zend' => 'a\\Zend',
|
||||
'b\\Zend' => 'b\\Zend',
|
||||
'c\\Zend' => 'c\\Zend',
|
||||
'd\\Zend' => 'd\\Zend',
|
||||
'e\\Zend' => 'e\\Zend',
|
||||
'f\\Zend' => 'f\\Zend',
|
||||
'g\\Zend' => 'g\\Zend',
|
||||
'h\\Zend' => 'h\\Zend',
|
||||
'i\\Zend' => 'i\\Zend',
|
||||
'j\\Zend' => 'j\\Zend',
|
||||
'k\\Zend' => 'k\\Zend',
|
||||
'l\\Zend' => 'l\\Zend',
|
||||
'm\\Zend' => 'm\\Zend',
|
||||
'n\\Zend' => 'n\\Zend',
|
||||
'o\\Zend' => 'o\\Zend',
|
||||
'p\\Zend' => 'p\\Zend',
|
||||
'q\\Zend' => 'q\\Zend',
|
||||
'r\\Zend' => 'r\\Zend',
|
||||
's\\Zend' => 's\\Zend',
|
||||
't\\Zend' => 't\\Zend',
|
||||
'u\\Zend' => 'u\\Zend',
|
||||
'v\\Zend' => 'v\\Zend',
|
||||
'w\\Zend' => 'w\\Zend',
|
||||
'x\\Zend' => 'x\\Zend',
|
||||
'y\\Zend' => 'y\\Zend',
|
||||
'z\\Zend' => 'z\\Zend',
|
||||
|
||||
// Expressive
|
||||
'Zend\\Expressive' => 'Mezzio',
|
||||
'Zend\\\\Expressive' => 'Mezzio',
|
||||
'ZendAuthentication' => 'LaminasAuthentication',
|
||||
'ZendAcl' => 'LaminasAcl',
|
||||
'ZendRbac' => 'LaminasRbac',
|
||||
@@ -285,49 +150,33 @@ return [
|
||||
'ZF\\Rest' => 'Laminas\\ApiTools\\Rest',
|
||||
'ZF\\Rpc' => 'Laminas\\ApiTools\\Rpc',
|
||||
'ZF\\Versioning' => 'Laminas\\ApiTools\\Versioning',
|
||||
'a\\ZF\\' => 'a\\ZF\\',
|
||||
'b\\ZF\\' => 'b\\ZF\\',
|
||||
'c\\ZF\\' => 'c\\ZF\\',
|
||||
'd\\ZF\\' => 'd\\ZF\\',
|
||||
'e\\ZF\\' => 'e\\ZF\\',
|
||||
'f\\ZF\\' => 'f\\ZF\\',
|
||||
'g\\ZF\\' => 'g\\ZF\\',
|
||||
'h\\ZF\\' => 'h\\ZF\\',
|
||||
'i\\ZF\\' => 'i\\ZF\\',
|
||||
'j\\ZF\\' => 'j\\ZF\\',
|
||||
'k\\ZF\\' => 'k\\ZF\\',
|
||||
'l\\ZF\\' => 'l\\ZF\\',
|
||||
'm\\ZF\\' => 'm\\ZF\\',
|
||||
'n\\ZF\\' => 'n\\ZF\\',
|
||||
'o\\ZF\\' => 'o\\ZF\\',
|
||||
'p\\ZF\\' => 'p\\ZF\\',
|
||||
'q\\ZF\\' => 'q\\ZF\\',
|
||||
'r\\ZF\\' => 'r\\ZF\\',
|
||||
's\\ZF\\' => 's\\ZF\\',
|
||||
't\\ZF\\' => 't\\ZF\\',
|
||||
'u\\ZF\\' => 'u\\ZF\\',
|
||||
'v\\ZF\\' => 'v\\ZF\\',
|
||||
'w\\ZF\\' => 'w\\ZF\\',
|
||||
'x\\ZF\\' => 'x\\ZF\\',
|
||||
'y\\ZF\\' => 'y\\ZF\\',
|
||||
'z\\ZF\\' => 'z\\ZF\\',
|
||||
'a\\ZF' => 'a\\ZF',
|
||||
'b\\ZF' => 'b\\ZF',
|
||||
'c\\ZF' => 'c\\ZF',
|
||||
'd\\ZF' => 'd\\ZF',
|
||||
'e\\ZF' => 'e\\ZF',
|
||||
'f\\ZF' => 'f\\ZF',
|
||||
'g\\ZF' => 'g\\ZF',
|
||||
'h\\ZF' => 'h\\ZF',
|
||||
'i\\ZF' => 'i\\ZF',
|
||||
'j\\ZF' => 'j\\ZF',
|
||||
'k\\ZF' => 'k\\ZF',
|
||||
'l\\ZF' => 'l\\ZF',
|
||||
'm\\ZF' => 'm\\ZF',
|
||||
'n\\ZF' => 'n\\ZF',
|
||||
'o\\ZF' => 'o\\ZF',
|
||||
'p\\ZF' => 'p\\ZF',
|
||||
'q\\ZF' => 'q\\ZF',
|
||||
'r\\ZF' => 'r\\ZF',
|
||||
's\\ZF' => 's\\ZF',
|
||||
't\\ZF' => 't\\ZF',
|
||||
'u\\ZF' => 'u\\ZF',
|
||||
'v\\ZF' => 'v\\ZF',
|
||||
'w\\ZF' => 'w\\ZF',
|
||||
'x\\ZF' => 'x\\ZF',
|
||||
'y\\ZF' => 'y\\ZF',
|
||||
'z\\ZF' => 'z\\ZF',
|
||||
|
||||
'ZF\\\\Apigility' => 'Laminas\\\\ApiTools',
|
||||
'ZF\\\\ApiProblem' => 'Laminas\\\\ApiTools\\\\ApiProblem',
|
||||
'ZF\\\\AssetManager' => 'Laminas\\\\ApiTools\\\\AssetManager',
|
||||
'ZF\\\\ComposerAutoloading' => 'Laminas\\\\ComposerAutoloading',
|
||||
'ZF\\\\Configuration' => 'Laminas\\\\ApiTools\\\\Configuration',
|
||||
'ZF\\\\ContentNegotiation' => 'Laminas\\\\ApiTools\\\\ContentNegotiation',
|
||||
'ZF\\\\ContentValidation' => 'Laminas\\\\ApiTools\\\\ContentValidation',
|
||||
'ZF\\\\DevelopmentMode' => 'Laminas\\\\DevelopmentMode',
|
||||
'ZF\\\\Doctrine\\\\QueryBuilder' => 'Laminas\\\\ApiTools\\\\Doctrine\\\\QueryBuilder',
|
||||
'ZF\\\\Hal' => 'Laminas\\\\ApiTools\\\\Hal',
|
||||
'ZF\\\\HttpCache' => 'Laminas\\\\ApiTools\\\\HttpCache',
|
||||
'ZF\\\\MvcAuth' => 'Laminas\\\\ApiTools\\\\MvcAuth',
|
||||
'ZF\\\\OAuth2' => 'Laminas\\\\ApiTools\\\\OAuth2',
|
||||
'ZF\\\\Rest' => 'Laminas\\\\ApiTools\\\\Rest',
|
||||
'ZF\\\\Rpc' => 'Laminas\\\\ApiTools\\\\Rpc',
|
||||
'ZF\\\\Versioning' => 'Laminas\\\\ApiTools\\\\Versioning',
|
||||
'ApigilityModuleInterface' => 'ApiToolsModuleInterface',
|
||||
'ApigilityProviderInterface' => 'ApiToolsProviderInterface',
|
||||
'ApigilityVersionController' => 'ApiToolsVersionController',
|
||||
@@ -489,8 +338,8 @@ return [
|
||||
'zend-expressive-tooling' => 'mezzio-tooling',
|
||||
|
||||
// Apigility-related
|
||||
"'zf-apigility'" => "'laminas-api-tools'",
|
||||
'"zf-apigility"' => '"laminas-api-tools"',
|
||||
"'zf-apigility'" => "'api-tools'",
|
||||
'"zf-apigility"' => '"api-tools"',
|
||||
'zf-apigility/' => 'api-tools/',
|
||||
'zf-apigility-admin' => 'api-tools-admin',
|
||||
'zf-content-negotiation' => 'api-tools-content-negotiation',
|
||||
@@ -512,4 +361,11 @@ return [
|
||||
'ZfApigilityDoctrineQueryCreateFilterManager' => 'LaminasApiToolsDoctrineQueryCreateFilterManager',
|
||||
'zf-apigility-doctrine' => 'api-tools-doctrine',
|
||||
'zf-development-mode' => 'laminas-development-mode',
|
||||
'zf-doctrine-querybuilder' => 'api-tools-doctrine-querybuilder',
|
||||
|
||||
// 3rd party Apigility packages
|
||||
'api-skeletons/zf-' => 'api-skeletons/zf-', // api-skeletons packages
|
||||
'zf-oauth2-' => 'zf-oauth2-', // api-skeletons OAuth2-related packages
|
||||
'ZF\\OAuth2\\Client' => 'ZF\\OAuth2\\Client', // api-skeletons/zf-oauth2-client
|
||||
'ZF\\OAuth2\\Doctrine' => 'ZF\\OAuth2\\Doctrine', // api-skeletons/zf-oauth2-doctrine
|
||||
];
|
||||
|
@@ -12,6 +12,18 @@ use ArrayObject;
|
||||
use Composer\Autoload\ClassLoader;
|
||||
use RuntimeException;
|
||||
|
||||
use function array_values;
|
||||
use function class_alias;
|
||||
use function class_exists;
|
||||
use function explode;
|
||||
use function file_exists;
|
||||
use function interface_exists;
|
||||
use function spl_autoload_register;
|
||||
use function strlen;
|
||||
use function strtr;
|
||||
use function substr;
|
||||
use function trait_exists;
|
||||
|
||||
/**
|
||||
* Alias legacy Zend Framework project classes/interfaces/traits to Laminas equivalents.
|
||||
*/
|
||||
|
@@ -8,8 +8,27 @@
|
||||
|
||||
namespace Laminas\ZendFrameworkBridge;
|
||||
|
||||
use function array_intersect_key;
|
||||
use function array_key_exists;
|
||||
use function array_pop;
|
||||
use function array_push;
|
||||
use function count;
|
||||
use function in_array;
|
||||
use function is_array;
|
||||
use function is_callable;
|
||||
use function is_int;
|
||||
use function is_string;
|
||||
|
||||
class ConfigPostProcessor
|
||||
{
|
||||
/** @internal */
|
||||
const SERVICE_MANAGER_KEYS_OF_INTEREST = [
|
||||
'aliases' => true,
|
||||
'factories' => true,
|
||||
'invokables' => true,
|
||||
'services' => true,
|
||||
];
|
||||
|
||||
/** @var array String keys => string values */
|
||||
private $exactReplacements = [
|
||||
'zend-expressive' => 'mezzio',
|
||||
@@ -62,15 +81,10 @@ class ConfigPostProcessor
|
||||
: null;
|
||||
},
|
||||
|
||||
// Aliases and invokables
|
||||
function ($value, array $keys) {
|
||||
static $keysOfInterest;
|
||||
|
||||
$keysOfInterest = $keysOfInterest ?: ['aliases', 'invokables'];
|
||||
$key = array_pop($keys);
|
||||
|
||||
return in_array($key, $keysOfInterest, true) && is_array($value)
|
||||
? [$this, 'replaceDependencyAliases']
|
||||
// service- and pluginmanager handling
|
||||
function ($value) {
|
||||
return is_array($value) && array_intersect_key(self::SERVICE_MANAGER_KEYS_OF_INTEREST, $value) !== []
|
||||
? [$this, 'replaceDependencyConfiguration']
|
||||
: null;
|
||||
},
|
||||
|
||||
@@ -182,7 +196,7 @@ class ConfigPostProcessor
|
||||
$a[] = $value;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if (is_array($value) && is_array($a[$key])) {
|
||||
$a[$key] = static::merge($a[$key], $value);
|
||||
continue;
|
||||
@@ -234,24 +248,119 @@ class ConfigPostProcessor
|
||||
return $this->exactReplacements[$value];
|
||||
}
|
||||
|
||||
private function replaceDependencyConfiguration(array $config)
|
||||
{
|
||||
$aliases = isset($config['aliases']) && is_array($config['aliases'])
|
||||
? $this->replaceDependencyAliases($config['aliases'])
|
||||
: [];
|
||||
|
||||
if ($aliases) {
|
||||
$config['aliases'] = $aliases;
|
||||
}
|
||||
|
||||
$config = $this->replaceDependencyInvokables($config);
|
||||
$config = $this->replaceDependencyFactories($config);
|
||||
$config = $this->replaceDependencyServices($config);
|
||||
|
||||
$keys = self::SERVICE_MANAGER_KEYS_OF_INTEREST;
|
||||
foreach ($config as $key => $data) {
|
||||
if (isset($keys[$key])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$config[$key] = is_array($data) ? $this->__invoke($data, [$key]) : $data;
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rewrite dependency aliases array
|
||||
*
|
||||
* In this case, we want to keep the alias as-is, but rewrite the target.
|
||||
*
|
||||
* This same logic can be used for invokables, which are essentially just
|
||||
* an alias map.
|
||||
* We need also provide an additional alias if the alias key is a legacy class.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function replaceDependencyAliases(array $aliases)
|
||||
{
|
||||
foreach ($aliases as $alias => $target) {
|
||||
$aliases[$alias] = $this->replacements->replace($target);
|
||||
if (! is_string($alias) || ! is_string($target)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$newTarget = $this->replacements->replace($target);
|
||||
$newAlias = $this->replacements->replace($alias);
|
||||
|
||||
$notIn = [$newTarget];
|
||||
$name = $newTarget;
|
||||
while (isset($aliases[$name])) {
|
||||
$notIn[] = $aliases[$name];
|
||||
$name = $aliases[$name];
|
||||
}
|
||||
|
||||
if ($newAlias === $alias && ! in_array($alias, $notIn, true)) {
|
||||
$aliases[$alias] = $newTarget;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isset($aliases[$newAlias])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (! in_array($newAlias, $notIn, true)) {
|
||||
$aliases[$alias] = $newAlias;
|
||||
$aliases[$newAlias] = $newTarget;
|
||||
}
|
||||
}
|
||||
|
||||
return $aliases;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rewrite dependency invokables array
|
||||
*
|
||||
* In this case, we want to keep the alias as-is, but rewrite the target.
|
||||
*
|
||||
* We need also provide an additional alias if invokable is defined with
|
||||
* an alias which is a legacy class.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function replaceDependencyInvokables(array $config)
|
||||
{
|
||||
if (empty($config['invokables']) || ! is_array($config['invokables'])) {
|
||||
return $config;
|
||||
}
|
||||
|
||||
foreach ($config['invokables'] as $alias => $target) {
|
||||
if (! is_string($alias)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$newTarget = $this->replacements->replace($target);
|
||||
$newAlias = $this->replacements->replace($alias);
|
||||
|
||||
if ($alias === $target || isset($config['aliases'][$newAlias])) {
|
||||
$config['invokables'][$alias] = $newTarget;
|
||||
continue;
|
||||
}
|
||||
|
||||
$config['invokables'][$newAlias] = $newTarget;
|
||||
|
||||
if ($newAlias === $alias) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$config['aliases'][$alias] = $newAlias;
|
||||
|
||||
unset($config['invokables'][$alias]);
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $value
|
||||
* @return mixed Returns $value verbatim.
|
||||
@@ -260,4 +369,66 @@ class ConfigPostProcessor
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
|
||||
private function replaceDependencyFactories(array $config)
|
||||
{
|
||||
if (empty($config['factories']) || ! is_array($config['factories'])) {
|
||||
return $config;
|
||||
}
|
||||
|
||||
foreach ($config['factories'] as $service => $factory) {
|
||||
if (! is_string($service)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$replacedService = $this->replacements->replace($service);
|
||||
$factory = is_string($factory) ? $this->replacements->replace($factory) : $factory;
|
||||
$config['factories'][$replacedService] = $factory;
|
||||
|
||||
if ($replacedService === $service) {
|
||||
continue;
|
||||
}
|
||||
|
||||
unset($config['factories'][$service]);
|
||||
if (isset($config['aliases'][$service])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$config['aliases'][$service] = $replacedService;
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
||||
private function replaceDependencyServices(array $config)
|
||||
{
|
||||
if (empty($config['services']) || ! is_array($config['services'])) {
|
||||
return $config;
|
||||
}
|
||||
|
||||
foreach ($config['services'] as $service => $serviceInstance) {
|
||||
if (! is_string($service)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$replacedService = $this->replacements->replace($service);
|
||||
$serviceInstance = is_array($serviceInstance) ? $this->__invoke($serviceInstance) : $serviceInstance;
|
||||
|
||||
$config['services'][$replacedService] = $serviceInstance;
|
||||
|
||||
if ($service === $replacedService) {
|
||||
continue;
|
||||
}
|
||||
|
||||
unset($config['services'][$service]);
|
||||
|
||||
if (isset($config['aliases'][$service])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$config['aliases'][$service] = $replacedService;
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
}
|
||||
|
@@ -8,6 +8,11 @@
|
||||
|
||||
namespace Laminas\ZendFrameworkBridge;
|
||||
|
||||
use function array_merge;
|
||||
use function str_replace;
|
||||
use function strpos;
|
||||
use function strtr;
|
||||
|
||||
class Replacements
|
||||
{
|
||||
/** @var string[] */
|
||||
@@ -19,8 +24,17 @@ class Replacements
|
||||
require __DIR__ . '/../config/replacements.php',
|
||||
$additionalReplacements
|
||||
);
|
||||
|
||||
// Provide multiple variants of strings containing namespace separators
|
||||
foreach ($this->replacements as $original => $replacement) {
|
||||
if (false === strpos($original, '\\')) {
|
||||
continue;
|
||||
}
|
||||
$this->replacements[str_replace('\\', '\\\\', $original)] = str_replace('\\', '\\\\', $replacement);
|
||||
$this->replacements[str_replace('\\', '\\\\\\\\', $original)] = str_replace('\\', '\\\\\\\\', $replacement);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param string $value
|
||||
* @return string
|
||||
|
@@ -6,4 +6,4 @@
|
||||
* @license https://github.com/laminas/laminas-zendframework-bridge/blob/master/LICENSE.md New BSD License
|
||||
*/
|
||||
|
||||
\Laminas\ZendFrameworkBridge\Autoloader::load();
|
||||
Laminas\ZendFrameworkBridge\Autoloader::load();
|
||||
|
Reference in New Issue
Block a user