public function guessLabel($identifier) { if (array_key_exists($identifier, $this->commonLabels)) { return $this->commonLabels[$identifier]; } // camelCase => camel Case $identifier = Preg::replace($identifier, '/([a-z])([A-Z])/', '$1 $2'); // camel Case => Camel Case return S::ucfirst($identifier); }
/** * Gibt die Klasse (den vollen Namen) eines Entities zurück * * speaker => 'projectNamespace\Entities\Speaker' * oid => 'projectNamespace\Entities\OID' * * Dies wird z.B. für die Umwandlung von entity-bezeichnern in URLs in echte Klassen gebraucht. * Irreguläre Namen (sowas wie OID) können in $this->getEntityNames() eingetragen werden * * @param string $input kann ein Name in LowerCase sein, eine volle Klasse oder auch ein TabsContentItem2::getTabsResourceName() sein */ public function getEntityName($input) { if (is_string($input)) { if (array_key_exists($input, $names = $this->getEntityNames())) { $name = $names[$input]; } elseif (mb_strpos($input, '\\') === FALSE) { $name = \Webforge\Common\String::ucfirst($input); } else { $name = $input; } return Code::expandNamespace($name, $this->getEntitiesNamespace()); } throw new \Psc\Exception('unbekannter Fall für getEntityName. Input ist: ' . Code::varInfo($input)); }