本文整理匯總了PHP中ProjectConfigurator::propReplaceProperties方法的典型用法代碼示例。如果您正苦於以下問題:PHP ProjectConfigurator::propReplaceProperties方法的具體用法?PHP ProjectConfigurator::propReplaceProperties怎麽用?PHP ProjectConfigurator::propReplaceProperties使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ProjectConfigurator
的用法示例。
在下文中一共展示了ProjectConfigurator::propReplaceProperties方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: replaceProperties
/**
* Replace ${} style constructions in the given value with the
* string value of the corresponding data types. This method is
* static.
*
* @param object $project the project that should be used for property look-ups
* @param string $value the string to be scanned for property references
* @param array $keys property keys
* @param integer $logLevel the level of generated log messages
* @return string the replaced string or <code>null</code> if the string
* itself was null
*/
public static function replaceProperties(Project $project, $value, $keys, $logLevel = Project::MSG_VERBOSE)
{
if ($value === null) {
return null;
}
// These are a "hack" to support static callback for preg_replace_callback()
// make sure these get initialized every time
self::$propReplaceProperties = $keys;
self::$propReplaceProject = $project;
self::$propReplaceLogLevel = $logLevel;
// Because we're not doing anything special (like multiple passes),
// regex is the simplest / fastest. PropertyTask, though, uses
// the old parsePropertyString() method, since it has more stringent
// requirements.
$sb = $value;
$iteration = 0;
// loop to recursively replace tokens
while (strpos($sb, '${') !== false) {
$sb = preg_replace_callback('/\\$\\{([^\\$}]+)\\}/', array('ProjectConfigurator', 'replacePropertyCallback'), $sb);
// keep track of iterations so we can break out of otherwise infinite loops.
$iteration++;
if ($iteration == 5) {
return $sb;
}
}
return $sb;
}
示例2: replaceProperties
/**
* Replace ${} style constructions in the given value with the
* string value of the corresponding data types. This method is
* static.
*
* @param object the project that should be used for property look-ups
* @param string the string to be scanned for property references
* @param array proeprty keys
* @return string the replaced string or <code>null</code> if the string
* itself was null
*/
public static function replaceProperties(Project $project, $value, $keys)
{
if ($value === null) {
return null;
}
// These are a "hack" to support static callback for preg_replace_callback()
// make sure these get initialized every time
self::$propReplaceProperties = $keys;
self::$propReplaceProject = $project;
// Because we're not doing anything special (like multiple passes),
// regex is the simplest / fastest. PropertyTask, though, uses
// the old parsePropertyString() method, since it has more stringent
// requirements.
$sb = preg_replace_callback('/\\$\\{([^}]+)\\}/', array('ProjectConfigurator', 'replacePropertyCallback'), $value);
return $sb;
}