コード例 #1
0
ファイル: ColumnModel.php プロジェクト: zfstarter/zfs-grid
 /**
  * @param array $options
  */
 public function __construct($options = array())
 {
     $utc = new UnderscoreToCamelCase();
     foreach ($options as $key => &$value) {
         $key = $utc->filter($key);
         $this->{$key} = $value;
     }
 }
コード例 #2
0
 /**
  * @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;
 }
コード例 #3
0
ファイル: Stream.php プロジェクト: gotcms/gotcms
 /**
  * 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;
 }
コード例 #5
0
ファイル: IndexMapGenerator.php プロジェクト: spryker/Search
 /**
  * @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;
 }
コード例 #6
0
ファイル: Client.php プロジェクト: hounddog/hd-api-client
 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;
 }
コード例 #7
0
 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);
         }
     }
 }
コード例 #8
0
ファイル: Simple.php プロジェクト: sedpro/test_skyeng
 /**
  * Преобразует имя свойства к внутреннему формату
  *
  * @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));
     }
 }
コード例 #9
0
 /**
  * @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;
 }
コード例 #10
0
ファイル: UserMapper.php プロジェクト: stijnhau/zf2-forum
 /**
  * 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;
 }
コード例 #11
0
 /**
  * @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']);
         }
     }
 }
コード例 #12
0
 /**
  * @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');
                     }
                 }
             }
         }
     }
 }
コード例 #13
0
 /**
  * Преобразует имя свойства к внутреннему формату
  *
  * @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));
 }
コード例 #14
0
 /**
  * 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);
 }
コード例 #15
0
 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));
     }
 }
コード例 #16
0
 /**
  * @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;
 }
コード例 #17
0
 /**
  * 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);
 }
コード例 #18
0
 /**
  * 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;
 }
コード例 #19
0
 /**
  * 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;
 }
コード例 #20
0
 /**
  * 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;
 }
コード例 #21
0
 /**
  * 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));
 }
コード例 #22
0
ファイル: AbstractForm.php プロジェクト: pixlr/SpeckCatalog
 protected function camel($name)
 {
     $camel = new UnderscoreToCamelCaseFilter();
     return $camel->__invoke($name);
 }
コード例 #23
0
ファイル: CodeTester.php プロジェクト: spryker/Development
 /**
  * @param string $bundle
  *
  * @return string
  */
 protected function normalizeBundleName($bundle)
 {
     $filter = new UnderscoreToCamelCase();
     return ucfirst($filter->filter($bundle));
 }
コード例 #24
0
 /**
  * @param string $fileName
  *
  * @return string
  */
 private function getBundleFromPathName($fileName)
 {
     $filter = new UnderscoreToCamelCase();
     return $filter->filter(str_replace(self::TRANSFER_SCHEMA_SUFFIX, '', $fileName));
 }
コード例 #25
0
ファイル: Account.php プロジェクト: hanif/stokq
 /**
  * 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);
         }
     }
 }
コード例 #26
0
 /**
  * @param string $value
  * @return string
  */
 protected function underscoreToCamelCase($value)
 {
     $filter = new UnderscoreToCamelCase();
     return $filter->filter($value);
 }
コード例 #27
0
ファイル: BundleParser.php プロジェクト: spryker/Development
 /**
  * @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;
 }
コード例 #28
0
ファイル: ClassDefinition.php プロジェクト: spryker/Transfer
 /**
  * @param array $property
  *
  * @return string
  */
 private function getPropertyName(array $property)
 {
     $filter = new UnderscoreToCamelCase();
     return lcfirst($filter->filter($property['name']));
 }
コード例 #29
0
 public function hydrate($name) : string
 {
     $filter = new UnderscoreToCamelCase();
     return $filter->filter($name);
 }
コード例 #30
0
ファイル: MyHydrator.php プロジェクト: danielventura90/calz
 public static function generateSetMethod($primaryKeyField)
 {
     $underScoreStrategy = new UnderscoreToCamelCase();
     return 'set' . $underScoreStrategy->filter($primaryKeyField);
 }