本文整理匯總了PHP中lithium\analysis\Inspector::dependencies方法的典型用法代碼示例。如果您正苦於以下問題:PHP Inspector::dependencies方法的具體用法?PHP Inspector::dependencies怎麽用?PHP Inspector::dependencies使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類lithium\analysis\Inspector
的用法示例。
在下文中一共展示了Inspector::dependencies方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _affected
/**
* Returns all classes directly depending on a given class.
*
* @param string $dependency The class name to use as a dependency.
* @param string $exclude Regex path exclusion filter.
* @return array Classes having a direct dependency on `$dependency`. May contain duplicates.
*/
protected static function _affected($dependency, $exclude = null)
{
$exclude = $exclude ?: '/(tests|webroot|resources|libraries|plugins)/';
$classes = Libraries::find(true, compact('exclude') + array('recursive' => true));
$dependency = ltrim($dependency, '\\');
$affected = array();
foreach ($classes as $class) {
if (isset(static::$_cachedDepends[$class])) {
$depends = static::$_cachedDepends[$class];
} else {
$depends = Inspector::dependencies($class);
$depends = array_map(function ($c) {
return ltrim($c, '\\');
}, $depends);
static::$_cachedDepends[$class] = $depends;
}
if (in_array($dependency, $depends)) {
$affected[] = $class;
}
}
return $affected;
}
示例2: testClassDependencies
public function testClassDependencies()
{
$expected = array('Exception', 'ReflectionClass', 'ReflectionProperty', 'ReflectionException', 'SplFileObject', 'lithium\\core\\Libraries');
$result = Inspector::dependencies($this->subject(), array('type' => 'static'));
$this->assertEqual($expected, $result);
$expected[] = 'lithium\\util\\Collection';
$result = Inspector::dependencies($this->subject());
$this->assertEqual($expected, $result);
}