Passed
Push — master ( 5bdfe8...9d312b )
by Vincent
04:50
created

DateTimeChildBuilder::saveAsTimestamp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Bdf\Form\Leaf\Date;
4
5
use Bdf\Form\Child\ChildBuilder;
6
use Bdf\Form\Leaf\Date\Transformer\DateTimeToTimestampTransformer;
7
8
/**
9
 * Child builder for date time elements
10
 *
11
 * @extends ChildBuilder<DateTimeElementBuilder>
12
 */
13
class DateTimeChildBuilder extends ChildBuilder
14
{
15
    /**
16
     * The model value of the input will be transformer to a timestamp
17
     *
18
     * <code>
19
     * // The entity : date is a timestamp
20
     * class MyEntity {
21
     *     public int $date;
22
     * }
23
     *
24
     * // Build the element
25
     * $builder->dateTime('date')->saveAsTimestamp()->getter()->setter();
26
     *
27
     * $form->import(MyEntity::get($id));
28
     * $form['date']->element()->value(); // Value is an instance of DateTime
29
     *
30
     * $entity = $form->value();
31
     * $entity->date; // date is a timestamp (i.e. integer value)
32
     * </code>
33
     *
34
     * @return $this
35
     *
36
     * @see DateTimeToTimestampTransformer
37
     */
38 1
    public function saveAsTimestamp(): self
39
    {
40 1
        return $this->modelTransformer(new DateTimeToTimestampTransformer());
41
    }
42
}
43