Documentation

Doctor extends Person
in package
uses Log

A DomainObject representation of Doctor (Arzt) extending Person

Includes the tables arzt, personen, adressen, fachr_arzt

Table of Contents

Constants

DIRTY  = 1
GHOST  = 2
LOADED  = 4
LOADING  = 3
NEW  = 0

Properties

$address  : Address
$field  : Varchar
$firstname  : Varchar
$gln  : EAN13
$id  : IntKey
$id  : IntKey
$idPers  : IntKey
$lastname  : Varchar
$other  : Varchar
$practice  : Varchar
$remark  : Varchar
$suffix  : Varchar
$title  : Varchar
$zsr  : ZSR
$data  : array<string|int, DataType>
$dataTypes  : array<string|int, Value>
Contains all configured fields with their respective Values
$dirty  : array<string|int, bool>
$isDirty  : bool
$state  : int
$valid  : bool
$validated  : bool
$validator  : Validator
$violations  : Violations|null

Methods

__construct()  : void
Creates a new DomainObject
__get()  : Value|mixed
Returnes the {@link \VeruA\DomainObjects\DataType} of the requested field
__isset()  : mixed
__set()  : mixed
Sets a value instatiating a new DataType Object if none is set, or sets the value of the DataType
__toString()  : mixed
__unset()  : mixed
current()  : mixed
dataTypes()  : array<string|int, mixed>
Returns the DataType configuration
defaultValidators()  : array<string|int, mixed>
Overwrite this message if a DataType needs validation methods that are always applied
fullName()  : string
A convenience function to get the full Clients name composed as `lastname, firstname`
getValueObjectOf()  : Value
in()  : mixed
isDirty()  : bool
isGhost()  : bool
isNew()  : bool
isValid()  : bool
Returns if this DMO is valid.
key()  : mixed
load()  : mixed
Puts all fields of $dmo into this DomainObject.
markDirty()  : mixed
markGhost()  : mixed
markLoaded()  : mixed
markNew()  : mixed
next()  : mixed
out()  : mixed
rewind()  : mixed
valid()  : mixed
validate()  : bool|ResultCollection
Validates the Object.
value()  : mixed
values()  : array<string|int, mixed>
Returns the internal data Array, containing all the DataType Objects
violations()  : ResultCollection
fields()  : array<string|int, mixed>
Configures the DomainObjects Fields

Constants

Properties

$field

public Varchar $field

the field (fachr) the doctor is specialized in. Comes from the fachr_arzt table and is joined in the Mapper

$practice

public Varchar $practice

The name of the doctor's practice (praxis) if any

$title

public Varchar $title

(anrede) -> should be replaced by new column gender

$zsr

public ZSR $zsr

The zsr number (e.g. A123456)

$data

protected array<string|int, DataType> $data = []

Contains the ValueObjects with their respective values

$dataTypes

Contains all configured fields with their respective Values

protected array<string|int, Value> $dataTypes = []

gets assigned in the constructor by running the fields() method

Tags
todo

should we replace this entierly by the fields method

$dirty

protected array<string|int, bool> $dirty = []

array that contains every field as key that changed after construction with value true

$violations

protected Violations|null $violations = null

Methods

__construct()

Creates a new DomainObject

public __construct([Key|array<string|int, mixed> $data = null ]) : void

The DomainObject can be created in the following ways:

  • If an Object of Type ValueObjects\Key is passed, the DomainObjects state is GHOST and will be loaded according to the DataSource, when a field is accessed
  • Without a parameter an empty DomainObject is created in the NEW state
  • If $data is an array, it has to be in the form 'field => 'value' as configured in the fields method
Parameters
$data : Key|array<string|int, mixed> = null

Sets the values of the DomainObject. Every value is passed to the respective or if a Key is passed a new empty GHOST is created

Tags
see
IntKey

__get()

Returnes the {@link \VeruA\DomainObjects\DataType} of the requested field

public __get(string $name) : Value|mixed
Parameters
$name : string
Return values
Value|mixed

Returns the DataType of the field

__isset()

public __isset(mixed $field) : mixed
Parameters
$field : mixed

__set()

Sets a value instatiating a new DataType Object if none is set, or sets the value of the DataType

public __set(string $name, mixed $value) : mixed
Parameters
$name : string

The name of the field

$value : mixed

The value

Tags
throws
OutOfRangeException

if the field does not exist

__unset()

public __unset(mixed $name) : mixed
Parameters
$name : mixed

dataTypes()

Returns the DataType configuration

public dataTypes() : array<string|int, mixed>
Return values
array<string|int, mixed>

defaultValidators()

Overwrite this message if a DataType needs validation methods that are always applied

public static defaultValidators() : array<string|int, mixed>
Return values
array<string|int, mixed>

fullName()

A convenience function to get the full Clients name composed as `lastname, firstname`

public fullName() : string
Tags
todo

add a parameter to customize the formatting/composition

Return values
string

The full name

getValueObjectOf()

public getValueObjectOf(string $field) : Value
Parameters
$field : string
Return values
Value

in()

public in(mixed $dmo) : mixed
Parameters
$dmo : mixed

isValid()

Returns if this DMO is valid.

public isValid([Validator|null $validator = null ]) : bool

If the DMO is not in a validated state, or because it was not already validated, or because changes has been made, it is validated. If a validator is given as argument, the DMO is always validated and the internal state is not altered

Parameters
$validator : Validator|null = null
Return values
bool

values()

Returns the internal data Array, containing all the DataType Objects

public values() : array<string|int, mixed>
Return values
array<string|int, mixed>

fields()

Configures the DomainObjects Fields

protected fields(array<string|int, mixed> ...$superFields) : array<string|int, mixed>

Overwrite this method to assign the filds with their respective ValueObjects make sure to call the parent an pass along all of the $superFields arrays like so ...$superFields The concept is simple. Every SuperClass adds its fields in a separate array, and passes them to the parent, DomainObject::fields merges them together to have all of the inherited fields available

Parameters
$superFields : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results