Kraken\Throwable\Throwable::parseThrowableMessage PHP Method

parseThrowableMessage() public static method

Parse Throwable message to proper format.
public static parseThrowableMessage ( string[] $ex ) : string
$ex string[]
return string
    public static function parseThrowableMessage($ex)
    {
        $message = $ex['message'];
        if ($ex['isError'] && strpos($message, ' in ') !== false) {
            $message = preg_replace('#([a-zA-Z0-9-_]+?)/#siU', '', $message);
            $message = preg_replace('#/#si', '', $message, 1);
        } else {
            $message = trim($message, '"');
            $file = str_replace('.php', '', basename($ex['file']));
            $line = $ex['line'];
            $message = '"' . $message . '" in ' . $file . ':' . $line;
        }
        return '[' . static::getBasename($ex['class']) . '] ' . $message;
    }

Usage Example

Beispiel #1
0
 /**
  *
  */
 public function testStaticApiParseThrowableMessage_ParsesThrowableMessage_ForException()
 {
     $prev = $this->createException('Previous');
     $ex = $this->createException($message = 'Exception', $prev);
     $stack = Throwable::getThrowableStack($ex);
     $base = $this->callProtectedMethod(Throwable::class, 'getBasename', [get_class($ex)]);
     $this->assertRegExp("#\\[{$base}\\] \"{$message}\" in ThrowableTest:([0-9]*?)#si", Throwable::parseThrowableMessage($stack));
 }