private function validateSection(StringObject $section) { $tmp = $section->explode($this->delimiter); if ($tmp->first()->contains('-') || $this->isNumber($tmp->first()->val())) { throw new ConfigException(sprintf('Invalid config key "%s"', $section->val())); } }
/** * Parse attribute key recursively * * @param array $parsedFields Reference to array of parsed fields * @param StringObject $key Current key to parse */ private function buildFields(&$parsedFields, StringObject $key) { if ($key->contains('.')) { $parts = $key->explode('.', 2)->val(); if (!isset($parsedFields[$parts[0]])) { $parsedFields[$parts[0]] = []; } $this->buildFields($parsedFields[$parts[0]], $this->str($parts[1])); } else { $parsedFields[$key->val()] = ''; } }
public function testExplode2() { $s = new StringObject('a b c'); $arr = $s->explode(' ', 2); $this->assertSame(['a', 'b c'], $arr->val()); }