ManaPHP\Utility\Text::camelize PHP Method

camelize() public static method

public static camelize ( string $str ) : string
$str string
return string
    public static function camelize($str)
    {
        if (Text::contains($str, '_')) {
            /**
             * @var $parts array
             */
            $parts = explode('_', $str);
            foreach ($parts as $k => $v) {
                /** @noinspection AlterInForeachInspection */
                $parts[$k] = ucfirst($v);
            }
            return implode('', $parts);
        } else {
            return ucfirst($str);
        }
    }

Usage Example

    public function createCommand()
    {
        $usage = 'format is invalid: {Module}:{A,B,C,D,E}';
        $arguments = $this->arguments->get();
        if (count($arguments) === 0) {
            $this->console->writeLn($usage);
            return 1;
        }
        $parts = explode(':', $arguments[0]);
        if (count($parts) !== 2) {
            $this->console->writeLn($usage);
            return 1;
        }
        $moduleName = Text::camelize($this->crossword->guess($this->application->getModules(), $parts[0]));
        if (!$moduleName) {
            return $this->console->error('module name is unknown: `:module`', ['module' => $parts[0]]);
        }
        $controllers = explode(',', $parts[1]);
        $controllerNamespace = $this->alias->resolve('@ns.app' . '\\' . $moduleName . '\\Controllers');
        foreach ($controllers as $controller) {
            $controller = Text::camelize($controller);
            $controllerName = $controller . 'Controller';
            $controllerFile = '@app/' . $moduleName . '/Controllers/' . $controllerName . '.php';
            if ($this->filesystem->fileExists($controllerFile)) {
                $this->console->writeLn('`:controller` controller exists already', ['controller' => $controllerNamespace . '\\' . $controller]);
                continue;
            }
            $controllerContent = <<<EOD
<?php
namespace {$controllerNamespace};

class {$controllerName} extends ControllerBase{
     public function indexAction()
     {
        
     }
}
EOD;
            $this->filesystem->filePut($controllerFile, $controllerContent);
            $this->filesystem->filePut('@app/' . $moduleName . '/Views/' . $controller . '/Index.sword', '');
            $this->filesystem->filePut('@app/' . $moduleName . '/Layouts/' . $controller . '.sword', '@content()');
        }
        return 0;
    }
All Usage Examples Of ManaPHP\Utility\Text::camelize