public static function classNameToUrl($className, $normalize)
{
$className = self::str($className)->explode('\\')->last()->val();
if (!$normalize) {
return $className;
}
$url = preg_replace('/([A-Z])/', ' $1', $className);
$url = self::str($url)->trim()->replace(' ', '-')->caseLower()->val();
return $url;
}
/** * @dataProvider classNameToUrlProvider * * @param $class * @param $expected */ public function testClassNameToUrl($class, $expected) { $this->assertSame($expected, PathTransformations::classNameToUrl($class, true)); $classData = explode('\\', $class); $className = end($classData); if ($className == '\\') { $className = $class; } $this->assertSame($className, PathTransformations::classNameToUrl($class, false)); }