Version 1
[yaffs-website] / web / modules / contrib / devel / webprofiler / src / Helper / ClassShortener.php
1 <?php
2
3 namespace Drupal\webprofiler\Helper;
4
5 use Drupal\Component\Render\FormattableMarkup;
6
7 /**
8  * Class ClassShortener
9  */
10 class ClassShortener implements ClassShortenerInterface {
11
12   /**
13    * {@inheritdoc}
14    */
15   public function shortenClass($class) {
16     $parts = explode('\\', $class);
17     $result = [];
18     $size = count($parts) - 1;
19
20     foreach ($parts as $key => $part) {
21       if ($key < $size) {
22         $result[] = substr($part, 0, 1);
23       }
24       else {
25         $result[] = $part;
26       }
27     }
28
29     return new FormattableMarkup("<abbr title=\"@class\">@short</abbr>", [
30       '@class' => $class,
31       '@short' => implode('\\', $result)
32     ]);
33   }
34 }