Merge pull request #9008 from Ayesh/strtr-improvements
Replace cascading str_replace() calls with strtr()pull/9026/head
commit
a5e608fb73
|
@ -1064,8 +1064,7 @@ INITIALIZER;
|
||||||
$path = preg_replace('{/+}', '/', preg_quote(trim(strtr($path, '\\', '/'), '/')));
|
$path = preg_replace('{/+}', '/', preg_quote(trim(strtr($path, '\\', '/'), '/')));
|
||||||
|
|
||||||
// add support for wildcards * and **
|
// add support for wildcards * and **
|
||||||
$path = str_replace('\\*\\*', '.+?', $path);
|
$path = strtr($path, array('\\*\\*' => '.+?', '\\*' => '[^/]+?'));
|
||||||
$path = str_replace('\\*', '[^/]+?', $path);
|
|
||||||
|
|
||||||
// add support for up-level relative paths
|
// add support for up-level relative paths
|
||||||
$updir = null;
|
$updir = null;
|
||||||
|
|
|
@ -196,9 +196,11 @@ class PluginManager
|
||||||
$className = substr($class, $separatorPos + 1);
|
$className = substr($class, $separatorPos + 1);
|
||||||
}
|
}
|
||||||
$code = preg_replace('{^((?:final\s+)?(?:\s*))class\s+('.preg_quote($className).')}mi', '$1class $2_composer_tmp'.self::$classCounter, $code, 1);
|
$code = preg_replace('{^((?:final\s+)?(?:\s*))class\s+('.preg_quote($className).')}mi', '$1class $2_composer_tmp'.self::$classCounter, $code, 1);
|
||||||
$code = str_replace('__FILE__', var_export($path, true), $code);
|
$code = strtr($code, array(
|
||||||
$code = str_replace('__DIR__', var_export(dirname($path), true), $code);
|
'__FILE__' => var_export($path, true),
|
||||||
$code = str_replace('__CLASS__', var_export($class, true), $code);
|
'__DIR__' => var_export(dirname($path), true),
|
||||||
|
'__CLASS__' => var_export($class, true),
|
||||||
|
));
|
||||||
$code = preg_replace('/^\s*<\?(php)?/i', '', $code, 1);
|
$code = preg_replace('/^\s*<\?(php)?/i', '', $code, 1);
|
||||||
eval($code);
|
eval($code);
|
||||||
$class .= '_composer_tmp'.self::$classCounter;
|
$class .= '_composer_tmp'.self::$classCounter;
|
||||||
|
|
Loading…
Reference in New Issue