本文整理汇总了PHP中FileUtils::getAbsPath方法的典型用法代码示例。如果您正苦于以下问题:PHP FileUtils::getAbsPath方法的具体用法?PHP FileUtils::getAbsPath怎么用?PHP FileUtils::getAbsPath使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileUtils
的用法示例。
在下文中一共展示了FileUtils::getAbsPath方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getIncludeFilesDataFlows
/**
* 获取当前文件include的所有文件的summary
* @param FileSummary $fileSummary
* @return array(fileSummarys)
*/
public static function getIncludeFilesDataFlows($fileSummary)
{
if (!is_object($fileSummary)) {
return;
}
//1.得到include files
$includeFiles = $fileSummary->getIncludeMap();
$currentFilePath = $fileSummary->getPath();
//2.foreach() files
$retFileSummary = array();
foreach ($includeFiles as $rpath) {
$absPath = FileUtils::getAbsPath($currentFilePath, $rpath);
if (!$absPath) {
continue;
}
// 查看是否在fileSummaryContext中
// 得到DataFlows
$fileSummaryContext = FileSummaryContext::getInstance();
$ret = $fileSummaryContext->findSummaryByPath($absPath);
if (is_object($ret)) {
//查看此文件是否有include文件
$pRetFiles = self::getIncludeFilesDataFlows($ret);
$retFileSummary = array_merge($pRetFiles, $retFileSummary);
$retFileSummary = array_merge(array($ret), $retFileSummary);
} else {
$includeFileSummary = self::getFileSummary($absPath);
if (is_object($includeFileSummary)) {
$pRetFiles = self::getIncludeFilesDataFlows($includeFileSummary);
$retFileSummary = array_merge($pRetFiles, $retFileSummary);
$retFileSummary = array_merge(array($includeFileSummary), $retFileSummary);
}
}
}
//return all files summary
//include在前的,在数组前面
return $retFileSummary;
}
示例2: getRequireFileFuncs
/**
* @param 当前文件路径 $path
* @param 当前文件包含文件路径集合 $require_array
* @return 返回当前文件包含文件的函数集合
*/
public function getRequireFileFuncs($path, $require_array)
{
$tempRequireFile = array();
//将文件自身添加
array_push($tempRequireFile, $path);
//补全路径
$currentDir = dirname($path);
global $project_path;
foreach ($require_array as $filepath) {
$absPath = FileUtils::getAbsPath($path, $filepath);
if ($absPath) {
array_push($tempRequireFile, $absPath);
}
}
$records = array();
//不能定义同名类和函数,不同类方法可以相同
//寻找相应的method
foreach ($this->records as $record) {
if (in_array($record->path, $tempRequireFile)) {
array_push($records, $record);
}
}
return $records;
}