JBZoo\Utils\Filter::className PHP Method

className() public static method

Convert words to PHP Class name
public static className ( $input ) : string
$input
return string
    public static function className($input)
    {
        $output = preg_replace(array('#(?<=[^A-Z\\s])([A-Z\\s])#i'), ' $0', $input);
        $output = explode(' ', $output);
        $output = array_map(function ($item) {
            $item = preg_replace('#[^a-z0-9]#i', '', $item);
            $item = Filter::ucfirst($item);
            return $item;
        }, $output);
        $output = array_filter($output);
        return implode('', $output);
    }

Usage Example

Beispiel #1
0
 public function testClassname()
 {
     isSame('Class123Name456', Filter::className('Class123Name456'));
     isSame('Class123Name456', Filter::className('Class123 Name456'));
     isSame('Class123Name456', Filter::className('CLASS123 NAME456'));
     isSame('Class123Name456', Filter::className('class123 name456'));
     isSame('Class123Name456', Filter::className('class123Name456'));
     isSame('Class123Name456', Filter::className('class123_Name456'));
     isSame('Class123Name456', Filter::className('class123_name456'));
     isSame('Class123Name456', Filter::className('class123-name456'));
     isSame('Class123Name456', Filter::className('class123|name456'));
     isSame('Class123Name456', Filter::className('class123.name456'));
     isSame('Class123Name456', Filter::className('class123name456'));
     isSame('Class123Name456', Filter::className('CLASS123NAME456'));
     isSame('Classname', Filter::className('CLASSNAME'));
 }