performance debug timer
[phinde.git] / src / phinde / Helper.php
index 4863961f66a0dcc85e5d59c482b355468516655f..00215fee0ca72b0cdb5d1fee5f175d8b46ad0202 100644 (file)
@@ -11,5 +11,71 @@ class Helper
         }
         return true;
     }
+
+    public static function noSchema($url)
+    {
+        return str_replace(
+            array('http://', 'https://'),
+            '',
+            $url
+        );
+    }
+
+    public static function addSchema($url)
+    {
+        if (substr($url, 0, 7) == 'http://'
+            || substr($url, 0, 8) == 'https://'
+        ) {
+            return $url;
+        }
+        return 'http://' . $url;
+    }
+
+    public static function removeAnchor($url)
+    {
+        $parts = explode('#', $url, 2);
+        return $parts[0];
+    }
+
+    public static function sanitizeTitle($str)
+    {
+        return trim(
+            str_replace(
+                array("\r", "\n", '  ', '  '),
+                array('', ' ', ' ', ' '),
+                $str
+            )
+        );
+    }
+
+    /**
+     * Create a full URL with protocol and host name
+     *
+     * @param string $path Path to the file, with leading /
+     *
+     * @return string Full URL
+     */
+    public static function fullUrl($path = '/')
+    {
+        if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) {
+            $prot = 'https';
+        } else {
+            $prot = 'http';
+        }
+        return $prot . '://' . $_SERVER['HTTP_HOST'] . $path;
+    }
+
+    static $timer = [];
+
+    public static function start($timer = 'timer')
+    {
+        static::$timer[$timer] = microtime(true);
+    }
+
+    public static function stop($timer = 'timer')
+    {
+        $diff = microtime(true) - static::$timer[$timer];
+        echo '+timer: ' . number_format($diff, 3) . 'ms ' . $timer . "\n";
+    }
 }
 ?>