bouiboui\Tissue\GithubIssue::formatTitle PHP Метод

formatTitle() приватный статический Метод

Formats the issue's title
private static formatTitle ( $path, $lineno, $message ) : string
$path
$lineno
$message
Результат string
    private static function formatTitle($path, $lineno, $message)
    {
        $title = '';
        // [basename($path):$line] $shortMessage
        if (null !== $path) {
            $title .= '[' . basename($path);
            if (null !== $lineno) {
                $title .= ':' . $lineno;
            }
            $title .= '] ';
        }
        $shortMessage = $message;
        if (mb_strlen($message) >= GithubIssue::READABLE_TITLE_LENGTH) {
            $shortMessage = mb_substr($message, 0, GithubIssue::READABLE_TITLE_LENGTH - 1) . '…';
        }
        $title .= $shortMessage;
        return $title;
    }

Usage Example

Пример #1
0
 /**
  * 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);
 }