RealEntity::createFields()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 1
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php
2
//[PHPCOMPRESSOR(remove,start)]
3
/**
4
 * Created by Vitaly Iegorov <[email protected]>.
5
 * on 22.03.16 at 17:50
6
 */
7
namespace samsonframework\orm\generator;
8
9
use samsonframework\orm\generator\metadata\RealMetadata;
10
11
/**
12
 * Real database instances class generator.
13
 *
14
 * @package samsonframework\orm\generator
15
 */
16
class RealEntity extends Generic
17
{
18
    /**
19
     * Class definition generation part.
20
     *
21
     * @param \samsonframework\orm\generator\metadata\GenericMetadata $metadata Entity metadata
22
     */
23
    protected function createDefinition($metadata)
24
    {
25
        $this->generator
26
            ->multiComment(array('"' . $metadata->entity . '" database entity class'))
27
            ->defClass($this->className, '\\' . \samsonframework\orm\Record::class);
28
    }
29
30
    /**
31
     * Class constants generation part.
32
     *
33
     * @param RealMetadata $metadata Entity metadata
34
     */
35
    protected function createConstants($metadata)
36
    {
37
        $this->generator
38
            ->commentVar('string', 'Entity full class name, use ::class instead')
39
            ->defClassConst('ENTITY', $metadata->entityClassName)
40
            ->commentVar('string', 'Entity primary field name')
41
            ->defClassConst('F_PRIMARY', $metadata->primaryField)
42
            ->commentVar('string', 'Entity deleted flag field name')
43
            ->defClassConst('F_DELETION', 'Active')
44
            ->commentVar('string', 'Entity manager full class name')
45
            ->defClassConst('MANAGER', $metadata->entityClassName . 'Query');
46
47
        // Create all entity fields constants storing each additional field metadata
48
        foreach ($metadata->fields as $fieldID => $fieldName) {
49
            $this->generator
50
                ->commentVar('string', $fieldName . ' entity field')
51
                ->defClassConst('F_' . $fieldName, $fieldName);
52
        }
53
    }
54
55
    /**
56
     * Class static fields generation part.
57
     *
58
     * @param RealMetadata $metadata Entity metadata
59
     */
60
    protected function createStaticFields($metadata)
61
    {
62
        $this->generator
63
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
64
//            ->defClassVar('$_sql_select', 'public static ', $metadata->arSelect)
65
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
66
//            ->defClassVar('$_attributes', 'public static ', $metadata->arAttributes)
67
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
68
//            ->defClassVar('$_types', 'public static ', $metadata->arTypes)
69
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
70
//            ->defClassVar('$_table_attributes', 'public static ', $metadata->arTableAttributes)
71
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
72
//            ->defClassVar('$_map', 'public static ', $metadata->arMap)
73
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
74
//            ->defClassVar('$_sql_from', 'public static ', $metadata->arFrom)
75
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
76
//            ->defClassVar('$_own_group', 'public static ', $metadata->arGroup)
77
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
78
//            ->defClassVar('$_relation_alias', 'public static ', $metadata->arRelationAlias)
79
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
80
//            ->defClassVar('$_relation_type', 'public static ', $metadata->arRelationType)
81
//            ->commentVar('array', '@deprecated Old ActiveRecord data')
82
//            ->defClassVar('$_relations', 'public static ', $metadata->arRelations)
83
            ->commentVar('string', '@deprecated Entity table primary field name')
84
            ->defClassVar('$_primary', 'public static', $metadata->primaryField)
85
            ->commentVar('array', '@deprecated Entity fields and aliases')
86
            ->defClassVar('$_attributes', 'public static', $metadata->fields)
87
            ->commentVar('array', '@deprecated Old ActiveRecord data')
88
            ->defClassVar('$fieldIDs', 'public static ', $metadata->fields);
89
    }
90
91
    /**
92
     * Class fields generation part.
93
     *
94
     * @param RealMetadata $metadata Entity metadata
95
     */
96
    protected function createFields($metadata)
97
    {
98
        foreach ($metadata->fields as $fieldID => $fieldName) {
99
            $this->generator
100
                ->commentVar($metadata->types[$fieldID], $fieldName . ' entity field')
101
                ->defClassVar('$' . $fieldName, 'public');
102
        }
103
    }
104
}
105
//[PHPCOMPRESSOR(remove,end)]
106