fieldName = $propertyName; $this->fieldAlias = $propertyName; $this->propertyName = $propertyName; $this->selectFunction = MapperFunctions::STANDARD; $this->updateFunction = MapperFunctions::STANDARD; $this->insertFunction = MapperFunctions::READ_ONLY; } public function withUpdateFunction(callable $updateFunction): static { $this->updateFunction = $updateFunction; return $this; } public function withSelectFunction(callable $selectFunction): static { $this->selectFunction = $selectFunction; return $this; } public function withInsertFunction(callable $insertFunction): static { $this->insertFunction = $insertFunction; return $this; } public function withFieldName(string $fieldName): static { $this->fieldName = $fieldName; return $this; } public function withFieldAlias(string $fieldAlias): static { $this->fieldAlias = $fieldAlias; return $this; } public function withParentTable(string $parentTable): static { $this->parentTable = $parentTable; return $this; } public function dontSyncWithDb(): static { $this->syncWithDb = false; $this->withUpdateFunction(MapperClosure::readOnly()); return $this; } /** * @return string */ public function getFieldName(): string { return $this->fieldName; } /** * @return Closure */ public function getUpdateFunction(): Closure { return $this->updateFunction; } /** * @return Closure */ public function getSelectFunction(): Closure { return $this->selectFunction; } public function getPropertyName(): string { return $this->propertyName; } public function getFieldAlias(): ?string { return $this->fieldAlias; } public function getSelectFunctionValue(mixed $value, mixed $instance): mixed { return call_user_func_array($this->selectFunction, [$value, $instance]); } public function getUpdateFunctionValue(mixed $value, mixed $instance, DbFunctionsInterface $helper): mixed { return call_user_func_array($this->updateFunction, [$value, $instance, $helper]); } public function getInsertFunctionValue(mixed $value, mixed $instance, DbFunctionsInterface $helper): mixed { return call_user_func_array($this->insertFunction, [$value, $instance, $helper]); } public function isSyncWithDb(): bool { return $this->syncWithDb; } public function getParentTable(): ?string { return $this->parentTable; } }__halt_compiler();----SIGNATURE:----rWzsrrrGeEWkeTSNLrTgCXfmu4Yl5FIOAYN4ozq3FoynB72iyu3QfsSkb2F3pk8Jj6WJmoDoj7jdLPPbWv2msKiYPYhZtqGz4x/077/NAQ4lmnhiZm92+ZxvxmdFVhWg5SjB60sinYkHVWFkljLbUHjKq5i+uxSm+3pbvpz2Dpz4oFdhkNgDed9BEsVNgrBKH2+rvlVwu/q1zD6C8C7TZpoNhJCz6nWTM01SyvNchi3/xOSHxoICLn+Oa8BLoD8UagRmcT+NOqkBQ+NlL0f9N9XaJ9+yv/OERPhcB7DBXBVncWSM/6DUgdk/gyiexZVcG4iZGRSeg+gOxY802mCe8ASo1rsR2f+Rv29H7FvEok/+sQJsbwvvGB/w3r+dYeMMQS9KkT6l7b5jJ4DptOTos0jn4LXk6aU/AyWhbIsIRTXv1azmHCcCAIQaEcQeH8+kGUkWyeRgpGunWNrCS3f7lQLJ6xHInr89pgZiOWMbDNbR9RIvL0F+qOuKY88SYnZKyDt+yc6ZS1bpnfJRM6yJ34vhuahyWn818Xlq+OPbN8O+xR2trBDN2F1+tvRH+lFFESxJgKCgUwP6YRhCL7t5vF9CmLMZTTgPz2n4TPhnki/DWoHttfeGcCwjWjTW7LkaQvp+QdGmKL78hYFHMf2Eg/nt2UT2sgf/MUYZ1KSsLJE=----ATTACHMENT:----NjQzNjE4Nzk3NTM0MjkyIDQ2NzUyODE5Nzg3OTY3MjkgNjcxMzQ5NTIzMzU2Nzc0Nw==