bouiboui\Tissue\GithubIssue::formatPath PHP Method

formatPath() private static method

Formats the issue's path
private static formatPath ( $path ) : string
$path
return string
    private static function formatPath($path)
    {
        $dirs = explode(DIRECTORY_SEPARATOR, $path);
        return '..' . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, array_slice($dirs, count($dirs) - 3));
    }

Usage Example

コード例 #1
0
ファイル: GithubIssue.php プロジェクト: bouiboui/tissue
 /**
  * GithubIssue constructor.
  * Internally formats the Github issue title and message
  * @param string $message
  * @param int $code
  * @param int $severity
  * @param string $path
  * @param int $lineno
  * @param string $trace
  */
 public function __construct($message = null, $code = null, $severity = null, $path = null, $lineno = null, $trace = null)
 {
     // Default message
     if (null === $message) {
         $message = 'An error occured.';
     }
     // Format the title under 50 characters
     $this->title = GithubIssue::formatTitle($path, $lineno, $message);
     // Only display a two-parent-directories-deep path, for readability
     $shortPath = GithubIssue::formatPath($path);
     $bodyContents = [];
     // Head table (Code and Severity)
     if (null !== $code || null !== $severity) {
         $bodyContents[] = GithubIssue::formatTable($code, $severity);
     }
     // $path:$line
     if (null !== $path) {
         $pathText = '**Path**' . PHP_EOL . $shortPath;
         if (null !== $lineno) {
             $pathText .= ':**' . $lineno . '**';
         }
         $bodyContents[] = $pathText;
     }
     if (null !== $message) {
         $bodyContents[] = '**Message**' . PHP_EOL . $message;
     }
     if (null !== $trace) {
         $bodyContents[] = '**Stack trace**' . PHP_EOL . '```' . PHP_EOL . $trace . PHP_EOL . '```';
     }
     // Format the body
     $this->body = GithubIssue::formatBody($bodyContents);
 }