entityClass = $entityClass; $this->name = $name; $this->alias = $alias; $this->entityResolver = Ulmus::resolveEntity(static::class); } public function name($useAlias = true) : string { # Must use REFLECTION before throwing this value. # Should first check if it's a relation field, and if it is, # it's real key must be returned (PK usually) return $useAlias ? "{$this->alias}.\"{$this->name}\"" : "\"{$this->name}\""; } public static function isScalarType($type) : bool { switch($type) { case 'int': case 'bool': case 'string': case 'float': case 'double': return true; } return false; } public static function isObjectType($type) : bool { # @ Should be fixed with isBuiltIn() instead, it won't be correct based only on name # return strpos($type, "\\") !== false; } public function __toString() : string { return $this->name(); } }