/** * @param array $options */ public function __construct($options = array()) { $utc = new UnderscoreToCamelCase(); foreach ($options as $key => &$value) { $key = $utc->filter($key); $this->{$key} = $value; } }
/** * @param mixed $value * * @return string */ public function filter($value) { $dashToCamelCaseFilter = new DashToCamelCase(); $underscoreToCamelCaseFilter = new UnderscoreToCamelCase(); $value = $dashToCamelCaseFilter->filter($value); $value = $underscoreToCamelCaseFilter->filter($value); return $value; }
/** * Call method * * @param string $method Method * @param array $args Arguments * * @return void * @throw RuntimeExeption */ public function __call($method, $args) { $filter = new UnderscoreToCamelCase(); $method = lcfirst($filter->filter($method)); if (method_exists($this, $method)) { return call_user_func_array(array($this, $method), $args); } }
/** * Converts an underscore delimited string to a camel case string. * * @param string $value * @param boolean $capitalize * @return string */ protected function underscoreToCamelCase($value, $capitalize = true) { $filter = new UnderscoreToCamelCase(); $value = $filter->filter($value); if (!$capitalize) { $value = lcfirst($value); } return $value; }
/** * @param string $mappingName * * @return string */ protected function normalizeToClassName($mappingName) { $normalized = preg_replace('/\\W+/', '_', $mappingName); $normalized = trim($normalized, '_'); $filter = new UnderscoreToCamelCase(); $normalized = $filter->filter($normalized); $normalized = ucfirst($normalized); return $normalized; }
public function api($resource) { $filter = new UnderscoreToCamelCase(); $resource = $filter->filter($resource); $em = $this->getEventManager(); $em->trigger('api', $this); $service = $this->getServiceManager()->get($this->getApiNamespace() . '\\Api\\' . $resource); $service->setClient($this); return $service; }
public function setOptions(array $options) { $filter = new UnderscoreToCamelCase(); foreach ($options as $key => $value) { $option = 'set' . $filter->filter($key); if (method_exists($this, $option)) { $this->{$option}($value); } } }
/** * Преобразует имя свойства к внутреннему формату * * @param string $name * @return string */ protected function filterName($name) { if (false === strpos($name, '_')) { return $name; } else { if (null === static::$nameFilter) { static::$nameFilter = new \Zend\Filter\Word\UnderscoreToCamelCase(); } return lcfirst(static::$nameFilter->filter($name)); } }
/** * @param mixed $value * * @return array|mixed */ public function filter($value) { $list = parent::filter($value); $dashToCamelCaseFilter = new DashToCamelCase(); $underscoreToCamelCaseFilter = new UnderscoreToCamelCase(); foreach ($list as $listKey => $listOption) { $listOption = $dashToCamelCaseFilter->filter($listOption); $listOption = $underscoreToCamelCaseFilter->filter($listOption); $list[$listKey] = $listOption; } return $list; }
/** * gets users list for Select form element * * @return array */ public function getSelectOptions() { $filter = new UnderscoreToCamelCase(); $funcName = "get" . ucfirst($filter->filter($this->getUserColumn())); $resultSet = $this->fetchAll(array('user_id', $this->getUserColumn()), function (Select $select) { $select->where->notEqualTo('user_id', $this->getCurrentUser()->getId()); }); $options = array(); foreach ($resultSet as $user) { $options[$user->getId()] = $user->{$funcName}(); } return $options; }
/** * @param array $config */ public function __construct(array $config) { if (isset($config['addons']) && isset($config['available'])) { $filter = new UnderscoreToCamelCase(); foreach ($config['addons'] as $addonName => $addongConfig) { if ($addonName == 'fallback') { $addongConfig['enabled'] = true; // forcing enable on the fallback addon } $className = 'MdoBundleZf2Locale\\Addons\\' . ucfirst($filter->filter($addonName)); $this->addons[$addonName] = new $className($addongConfig, $config['available']); } } }
/** * @param array $data * @param array $nestedObjects * @param array $method_mapper * @throws InvalidParamException * @throws UndefinedMethodException */ public function hydrate(array $data, array $nestedObjects = [], array $method_mapper = []) { foreach ($data as $key => $value) { if (!$value) { continue; } if (!in_array($key, $nestedObjects)) { // get setter method for each key in data $filter = new UnderscoreToCamelCase(); $setter = 'set' . $filter->filter($key); if (method_exists($this, $setter)) { $this->{$setter}($value); } else { // check if setter method exists that doesn't match Zend filter format if (in_array($setter, array_keys($method_mapper))) { $this->{$method_mapper}[$setter]($value); } else { // trying to set a value for a non-property throw new UndefinedMethodException($setter); } } } else { // try to hydrate the nested objects foreach ($nestedObjects as $currentNestedObject) { // if empty then ignore if (!empty($data[$currentNestedObject])) { // if is not array then throw exception if (is_array($data[$currentNestedObject])) { // rename for clarity $nestedObject = $data[$currentNestedObject]; $NestedObjectCollection = array(); foreach ($nestedObject as $nestedObjectArguments) { $className = str_replace('Library', 'Model', __NAMESPACE__) . '\\' . ucwords($this::singularize($currentNestedObject)); $reflection = new \ReflectionClass($className); $nestedObjectClass = $reflection->newInstanceArgs(array($nestedObjectArguments)); $NestedObjectCollection[] = $nestedObjectClass; } $setter = 'set' . ucwords($currentNestedObject); $this->{$setter}($NestedObjectCollection); } else { throw new InvalidParamException($currentNestedObject . ' must be an array'); } } } } } }
/** * Преобразует имя свойства к внутреннему формату * * @param string $name * @return string */ protected function filterName($name) { $name = preg_replace('/Service$/', '', $name); if (null === static::$nameFilter) { static::$nameFilter = new \Zend\Filter\Word\CamelCaseToUnderscore(); } return strtolower(static::$nameFilter->filter($name)); }
/** * generates propertiy, getter, setter and other methods... * * @param \Zend\Code\Generator\ClassGenerator $class * @param FieldDescriptorInterface $column */ protected function generateColumnRelatedElements(ClassGenerator $class, FieldDescriptorInterface $column) { $name = preg_replace("/[^a-z0-9_]/i", "_", $column->getName()); $name = $this->underscoreToCamelCase->filter($name); $property = $this->createProperty($column, $name); $class->addPropertyFromGenerator($property); $getMethod = $this->createGetMethod($column, $name); $class->addMethodFromGenerator($getMethod); $setMethod = $this->createSetMethod($column, $name); $class->addMethodFromGenerator($setMethod); }
public function generate(\VisioCrudModeler\Generator\ParamsInterface $params) { $this->params = $params; $descriptor = $this->params->getParam("descriptor"); if (!$descriptor instanceof \VisioCrudModeler\Descriptor\ListGeneratorInterface) { return; } $camelCaseToSeparator = new CamelCaseToSeparator('-'); $moduleName = strtolower($this->params->getParam("moduleName")); @mkdir($this->moduleRoot() . "/view/", 0777); $viewClassFilePath = $this->moduleRoot() . "/view/" . strtolower($camelCaseToSeparator->filter($this->params->getParam("moduleName"))); @mkdir($viewClassFilePath, 0777); foreach ($descriptor->listGenerator() as $name => $dataSet) { $className = $this->underscoreToCamelCase->filter($name); $viewName = strtolower($camelCaseToSeparator->filter($className)); $viewFilePath = $this->moduleRoot() . "/view/" . $moduleName . "/" . $viewName; @mkdir($viewFilePath, 0777); $this->generateView($viewName, $viewFilePath, $moduleName); $this->console(sprintf('writing generated view for "%s" table', $viewName)); } }
/** * @param string $bundleName * * @return array */ protected function getParsedComposerDependenciesForBundle($bundleName) { $composerJsonFiles = $this->finder->find(); $dependencies = []; foreach ($composerJsonFiles as $composerJsonFile) { if ($this->shouldSkip($composerJsonFile, $bundleName)) { continue; } $content = file_get_contents($composerJsonFile); $content = json_decode($content, true); $require = isset($content['require']) ? $content['require'] : []; foreach ($require as $package => $version) { if (strpos($package, 'spryker/') !== 0) { continue; } $name = substr($package, 8); $name = str_replace('-', '_', $name); $filter = new UnderscoreToCamelCase(); $name = ucfirst($filter->filter($name)); $dependencies[] = $name; } } return $dependencies; }
/** * Defined by Zend\Filter\Filter * * @param string|array $value * @return string|array */ public function filter($value) { if (!is_scalar($value) && !is_array($value)) { return $value; } $value = parent::filter($value); $lowerCaseFirst = 'lcfirst'; if (StringUtils::hasPcreUnicodeSupport() && extension_loaded('mbstring')) { $lowerCaseFirst = function ($value) { if (0 === mb_strlen($value)) { return $value; } return mb_strtolower(mb_substr($value, 0, 1)) . mb_substr($value, 1); }; } return is_array($value) ? array_map($lowerCaseFirst, $value) : call_user_func($lowerCaseFirst, $value); }
/** * returns values map for template according to given dataSet * * @param DataSetDescriptorInterface $dataSet * @return array */ protected function prepareTemplateSubstitutionData(DataSetDescriptorInterface $dataSet) { $name = $dataSet->getName(); $data = array(); if ($this->params->getParam('runtimeConfiguration') instanceof Config) { $runtime = (array) $this->params->getParam('runtimeConfiguration')->toArray(); $data['%table%'] = $runtime['model'][$name]['table']; $data['%model%'] = $runtime['model'][$name]['model']; $data['%form%'] = $runtime['form'][$name]['form']; $data['%filter%'] = $runtime['inputFilter'][$name]['filter']; $data['%grid%'] = $runtime['form'][$name]['grid']; $data['%filteredModule%'] = strtolower($this->params->getParam('moduleName')); $data['%filteredController%'] = strtolower($this->camelCasToSeparator->filter($this->underscoreToCamelCase->filter($dataSet->getName()))); $data['%adapterKey%'] = $this->params->getParam('adapterServiceKey'); } return $data; }
/** * used to build validators from optionall field info * * @param array $incomeValidators * @return string */ protected function buildValidatorsFromInfo($incomeValidators) { $outcomeValidators = ""; foreach ($incomeValidators as $validator) { if ($validator["type"] == "required") { continue; } $outcomeValidators .= "\n array (\n 'name' => '" . $this->underscoreToCamelCase->filter(preg_replace("/[^a-z0-9]/i", "_", $validator["type"])) . "',"; if (isset($validator["options"])) { $outcomeValidators .= "\n 'options' => array("; foreach ($validator["options"] as $key => $value) { $outcomeValidators .= "\n '{$key}' => '{$value}',"; } $outcomeValidators .= "\n ),"; } $outcomeValidators .= "\n ),"; } return $outcomeValidators; }
/** * generates file with target grid (if not exists yet) * * @param DataSetDescriptorInterface $dataSet * @param string $extends * base class for grid * @return string full name of generated class */ protected function generateGrid(DataSetDescriptorInterface $dataSet, $extends) { $name = $dataSet->getName(); $className = $this->underscoreToCamelCase->filter($name) . "Grid"; $namespace = $this->params->getParam("moduleName") . "\\Grid"; $fullClassName = '\\' . $namespace . '\\' . $className; $gridClassFilePath = $this->moduleRoot() . "/src/" . $this->params->getParam("moduleName") . "/Grid/" . $className . ".php"; if (file_exists($gridClassFilePath)) { return $fullClassName; } $class = new ClassGenerator(); $class->setName($className); $class->setNamespaceName($namespace); $class->setExtendedClass($extends); $file = new FileGenerator(); $docBlock = new \Zend\Code\Generator\DocblockGenerator(sprintf($this->codeLibrary()->get('grid.standardConfigDescription'), $name)); $docBlock->setTag(new GenericTag('author', $this->params->getParam('author')))->setTag(new GenericTag('project', $this->params->getParam('project')))->setTag(new GenericTag('license', $this->params->getParam('license')))->setTag(new GenericTag('copyright', $this->params->getParam('copyright'))); $file->setClass($class)->setDocBlock($docBlock); file_put_contents($gridClassFilePath, $file->generate()); return $fullClassName; }
/** * Entity Generator * @return JsonModel */ public function entityAction() { $isOK = $this->checkValidate(); if ($isOK !== true) { return $isOK; } $tblName = $this->params()->fromPost('tbl_name', ''); $module = $this->params()->fromPost('module', ''); $module = empty($module) ? 'Application' : $module; $toCamelCase = new UnderscoreToCamelCase(); $className = $toCamelCase->filter(substr($tblName, 4)); $nameSpace = $module . '\\Entity'; $class = $this->initClass($className, $nameSpace); $class->addUse('Zend\\Stdlib\\ArraySerializableInterface'); $class->setImplementedInterfaces(array('ArraySerializableInterface')); $columns = $this->getDbMeta()->getColumnNames($tblName); $exchangeBody = ''; $getArrayBody = 'return array(' . PHP_EOL; foreach ($columns as $col) { $name = $toCamelCase->filter($col); $property = lcfirst($name); $class->addProperty($property, null, PropertyGenerator::FLAG_PROTECTED); $get = new MethodGenerator('get' . $name); $get->setBody('return $this->' . $property . ';'); $set = new MethodGenerator('set' . $name); $set->setParameter('value')->setBody('$this->' . $property . ' = $value;'); $class->addMethods(array($get, $set)); $exchangeBody .= '$this->' . $property . ' = (!empty($data[\'' . $col . '\'])) ? $data[\'' . $col . '\'] : null;' . PHP_EOL; $getArrayBody .= "\t'" . $col . '\' => $this->' . $property . ',' . PHP_EOL; } $exchange = new MethodGenerator('exchangeArray'); $exchange->setParameter(array('type' => 'array', 'name' => 'data')); $exchange->setBody($exchangeBody); $getArray = new MethodGenerator('getArrayCopy'); $getArray->setBody($getArrayBody . ');'); $class->addMethods(array($exchange, $getArray)); $code = '<?php' . PHP_EOL . $class->generate(); return new JsonModel(array('status' => true, 'code' => $code)); }
protected function camel($name) { $camel = new UnderscoreToCamelCaseFilter(); return $camel->__invoke($name); }
/** * @param string $bundle * * @return string */ protected function normalizeBundleName($bundle) { $filter = new UnderscoreToCamelCase(); return ucfirst($filter->filter($bundle)); }
/** * @param string $fileName * * @return string */ private function getBundleFromPathName($fileName) { $filter = new UnderscoreToCamelCase(); return $filter->filter(str_replace(self::TRANSFER_SCHEMA_SUFFIX, '', $fileName)); }
/** * Exchange internal values from provided array * * @param array $array * @return void */ public function exchangeArray(array $array) { $filter = new UnderscoreToCamelCase(); foreach ($array as $key => $val) { $method = sprintf('set%s', ucfirst($filter->filter($key))); if (method_exists($this, $method)) { $this->{$method}($val); } } }
/** * @param string $value * @return string */ protected function underscoreToCamelCase($value) { $filter = new UnderscoreToCamelCase(); return $filter->filter($value); }
/** * @param string $table * @param array $bundleDependencies * @param string $currentBundle * * @return array */ protected function checkForPersistenceLayerDependency($table, array $bundleDependencies, $currentBundle) { $filter = new UnderscoreToCamelCase(); $name = $filter->filter($table); $existent = $this->isExistentBundle($name); if ($existent) { $bundleDependencies = $this->addDependency($name, $bundleDependencies, $currentBundle); return $bundleDependencies; } $lastUnderscore = strrpos($table, '_'); while ($lastUnderscore) { $table = substr($table, 0, $lastUnderscore); $filter = new UnderscoreToCamelCase(); $name = $filter->filter($table); $existent = $this->isExistentBundle($name); if (!$existent) { $lastUnderscore = strrpos($table, '_'); continue; } $this->addDependency($name, $bundleDependencies, $currentBundle); break; } return $bundleDependencies; }
/** * @param array $property * * @return string */ private function getPropertyName(array $property) { $filter = new UnderscoreToCamelCase(); return lcfirst($filter->filter($property['name'])); }
public function hydrate($name) : string { $filter = new UnderscoreToCamelCase(); return $filter->filter($name); }
public static function generateSetMethod($primaryKeyField) { $underScoreStrategy = new UnderscoreToCamelCase(); return 'set' . $underScoreStrategy->filter($primaryKeyField); }