How to convert PascalCase to pascal_case?

前端 未结 30 1586
北海茫月
北海茫月 2020-11-29 16:36

If I had:

$string = \"PascalCase\";

I need

\"pascal_case\"

Does PHP offer a function for this purpose?

30条回答
  •  -上瘾入骨i
    2020-11-29 17:05

    If you are not using Composer for PHP you are wasting your time.

    composer require doctrine/inflector
    
    use Doctrine\Inflector\InflectorFactory;
    
    // Couple ways to get class name:
    
    // If inside a parent class
    $class_name = get_called_class();
    
    // Or just inside the class
    $class_name = get_class();
    
    // Or straight get a class name
    $class_name = MyCustomClass::class;
    
    // Or, of course, a string
    $class_name = 'App\Libs\MyCustomClass';
    
    // Take the name down to the base name:
    $class_name = end(explode('\\', $class_name)));
    
    $inflector = InflectorFactory::create()->build();
    
    $inflector->tableize($class_name); // my_custom_class
    

    https://github.com/doctrine/inflector/blob/master/docs/en/index.rst

提交回复
热议问题