getUnderscoreToStudlyCaseFilter()->filter($name); } /** * Remove capitalized letters and prepend underscores. * * @param string $name * @return string */ public function extract($name) { return $this->getCamelCaseToUnderscoreFilter()->filter($name); } /** * @return FilterChain */ protected function getUnderscoreToStudlyCaseFilter() { if (static::$underscoreToStudlyCaseFilter instanceof FilterChain) { return static::$underscoreToStudlyCaseFilter; } $filter = new FilterChain(); $filter->attachByName('WordUnderscoreToStudlyCase'); return static::$underscoreToStudlyCaseFilter = $filter; } /** * @return FilterChain */ protected function getCamelCaseToUnderscoreFilter() { if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) { return static::$camelCaseToUnderscoreFilter; } $filter = new FilterChain(); $filter->attachByName('WordCamelCaseToUnderscore'); $filter->attachByName('StringToLower'); return static::$camelCaseToUnderscoreFilter = $filter; } }