本文整理汇总了PHP中PHP_CodeSniffer::getInstalledStandardPaths方法的典型用法代码示例。如果您正苦于以下问题:PHP PHP_CodeSniffer::getInstalledStandardPaths方法的具体用法?PHP PHP_CodeSniffer::getInstalledStandardPaths怎么用?PHP PHP_CodeSniffer::getInstalledStandardPaths使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHP_CodeSniffer
的用法示例。
在下文中一共展示了PHP_CodeSniffer::getInstalledStandardPaths方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: suite
/**
* Add all sniff unit tests into a test suite.
*
* Sniff unit tests are found by recursing through the 'Tests' directory
* of each installed coding standard.
*
* @return PHPUnit_Framework_TestSuite
*/
public static function suite()
{
$suite = new PHPUnit_Framework_TestSuite('PHP CodeSniffer Standards');
$isInstalled = !is_file(dirname(__FILE__) . '/../../CodeSniffer.php');
$installedPaths = PHP_CodeSniffer::getInstalledStandardPaths();
foreach ($installedPaths as $path) {
$path = realpath($path);
$origPath = $path;
$standards = PHP_CodeSniffer::getInstalledStandards(true, $path);
// If the test is running PEAR installed, the built-in standards
// are split into different directories; one for the sniffs and
// a different file system location for tests.
if ($isInstalled === true && is_dir($path . DIRECTORY_SEPARATOR . 'Generic') === true) {
$path = dirname(__FILE__);
}
foreach ($standards as $standard) {
$testsDir = $path . DIRECTORY_SEPARATOR . $standard . DIRECTORY_SEPARATOR . 'Tests' . DIRECTORY_SEPARATOR;
if (is_dir($testsDir) === false) {
// No tests for this standard.
continue;
}
$di = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($testsDir));
foreach ($di as $file) {
// Skip hidden files.
if (substr($file->getFilename(), 0, 1) === '.') {
continue;
}
// Tests must have the extension 'php'.
$parts = explode('.', $file);
$ext = array_pop($parts);
if ($ext !== 'php') {
continue;
}
$filePath = $file->getPathname();
$className = str_replace($path . DIRECTORY_SEPARATOR, '', $filePath);
$className = substr($className, 0, -4);
$className = str_replace(DIRECTORY_SEPARATOR, '_', $className);
// Include the sniff here so tests can use it in their setup() methods.
$parts = explode('_', $className);
$sniffPath = $origPath . DIRECTORY_SEPARATOR . $parts[0] . DIRECTORY_SEPARATOR . 'Sniffs' . DIRECTORY_SEPARATOR . $parts[2] . DIRECTORY_SEPARATOR . $parts[3];
$sniffPath = substr($sniffPath, 0, -8) . 'Sniff.php';
include_once $sniffPath;
include_once $filePath;
$GLOBALS['PHP_CODESNIFFER_STANDARD_DIRS'][$className] = $path;
$suite->addTestSuite($className);
}
//end foreach
}
//end foreach
}
//end foreach
return $suite;
}
示例2: autoload
/**
* Autoload static method for loading classes and interfaces.
*
* @param string $className The name of the class or interface.
*
* @return void
*/
public static function autoload($className)
{
if (substr($className, 0, 4) === 'PHP_') {
$newClassName = substr($className, 4);
} else {
$newClassName = $className;
}
$path = str_replace(array('_', '\\'), DIRECTORY_SEPARATOR, $newClassName) . '.php';
if (is_file(dirname(__FILE__) . DIRECTORY_SEPARATOR . $path) === true) {
// Check standard file locations based on class name.
include dirname(__FILE__) . DIRECTORY_SEPARATOR . $path;
return;
} else {
// Check for included sniffs.
$installedPaths = PHP_CodeSniffer::getInstalledStandardPaths();
foreach ($installedPaths as $installedPath) {
if (is_file($installedPath . DIRECTORY_SEPARATOR . $path) === true) {
include $installedPath . DIRECTORY_SEPARATOR . $path;
return;
}
}
// Check standard file locations based on the loaded rulesets.
foreach (self::$rulesetDirs as $rulesetDir) {
if (is_file(dirname($rulesetDir) . DIRECTORY_SEPARATOR . $path) === true) {
include_once dirname($rulesetDir) . DIRECTORY_SEPARATOR . $path;
return;
}
}
}
//end if
// Everything else.
@(include $path);
}