[ 'pattern' => '/^(\s+)(\'modules\'\s*\=\>\s*(?:array\s*\(|\[))\s*$/m', 'replacement' => "\$1\$2\n\$1 '%s',", ], self::TYPE_MODULE => [ 'pattern' => "/('modules'\s*\=\>\s*(?:array\s*\(|\[).*?)\n(\s+)(\)|\])/s", 'replacement' => "\$1\n\$2 '%s',\n\$2\$3", ], self::TYPE_DEPENDENCY => [ 'pattern' => '/^(\s+)(\'modules\'\s*\=\>\s*(?:array\s*\(|\[)[^)\]]*\'%s\')/m', 'replacement' => "\$1\$2,\n\$1 '%s'", ], self::TYPE_BEFORE_APPLICATION => [ 'pattern' => '/^(\s+)(\'modules\'\s*\=\>\s*(?:array\s*\(|\[)[^)\]]*)(\'%s\')/m', 'replacement' => "\$1\$2'%s',\n$1 \$3", ], ]; /** * Pattern to use to determine if the code item is registered. * * @var string */ protected $isRegisteredPattern = '/\'modules\'\s*\=\>\s*(?:array\(|\[)[^)\]]*\'%s\'/s'; /** * Patterns and replacements to use when removing a code item. * * @var string[] */ protected $removalPatterns = [ 'pattern' => '/^\s+\'%s\',\s*$/m', 'replacement' => '', ]; }