public function testUnderscore() { $this->variable(PommInflector::underscore(null))->isNull()->string(PommInflector::underscore(''))->length->isEqualTo(0)->string(PommInflector::underscore('one'))->isEqualTo('one')->string(PommInflector::underscore('oneTwo'))->isEqualTo('one_two')->string(PommInflector::underscore('twoThreeFour'))->isEqualTo('two_three_four')->string(PommInflector::underscore('one_Two'))->isEqualTo('one__two')->string(PommInflector::underscore('one2Three'))->isEqualTo('one2_three')->string(PommInflector::underscore('one_2Three'))->isEqualTo('one_2_three')->string(PommInflector::underscore('One'))->isEqualTo('one'); }
protected function createWhereByCriteria($criteria = array()) { $where = new Where(); foreach ($criteria as $colname => $value) { $colname = Inflector::underscore($colname); $element = sprintf('%s = $*', $colname); $subWhere = new Where($element, array($value)); $where->andWhere($subWhere); } return $where; }
/** * __call * * Create handy methods to access clients through a pooler. * * @access public * @param string $method * @param array $arguments * @throws \BadFunctionCallException if unknown method * @throws FoundationException if no poolers found * @return ClientInterface */ public function __call($method, $arguments) { if (!preg_match('/get([A-Z][A-Za-z]+)/', $method, $matches)) { throw new \BadFunctionCallException(sprintf("Unknown method 'Session::%s()'.", $method)); } return $this->getClientUsingPooler(Inflector::underscore($matches[1]), count($arguments) > 0 ? $arguments[0] : null); }
/** * getCustomFields * * Return a list of custom methods with has() accessor. * * @access private * @return array */ private function getCustomFields() { if (static::$has_methods === null) { static::fillHasMethods($this); } $custom_fields = []; foreach (static::$has_methods as $method) { if (call_user_func([$this, sprintf("has%s", $method)]) === true) { $custom_fields[Inflector::underscore(lcfirst($method))] = call_user_func([$this, sprintf("get%s", $method)]); } } return $custom_fields; }
/** * extractMethodName * * Get container field name from method name. * It returns an array with the operation (get, set, etc.) as first member * and the name of the attribute as second member. * * @access protected * @param string $argument * @return array * @throws ModelException */ protected function extractMethodName($argument) { $split = preg_split('/(?=[A-Z])/', $argument, 2); if (count($split) !== 2) { throw new ModelException(sprintf('No such argument "%s:%s()"', get_class($this), $argument)); } return [$split[0], Inflector::underscore($split[1])]; }