1
1
<?php
2
-
3
2
namespace Ubiquity \orm \creator ;
4
3
5
4
/**
13
12
*
14
13
*/
15
14
class Model {
15
+
16
16
private $ members ;
17
+
17
18
private $ name ;
19
+
18
20
private $ table ;
21
+
19
22
private $ namespace ;
23
+
20
24
private $ database ;
21
25
22
26
public function __construct ($ name , $ namespace = "models " ) {
23
- $ this ->table = $ name ;
24
- $ this ->name = \ucfirst ( $ name );
25
- $ this ->members = array ();
27
+ $ this ->table = $ name ;
28
+ $ this ->name = \ucfirst ( $ name );
29
+ $ this ->members = array ();
26
30
$ this ->namespace = $ namespace ;
27
31
}
28
32
29
33
public function addMember (Member $ member ) {
30
- $ this ->members [$ member ->getName ()] = $ member ;
34
+ $ this ->members [$ member ->getName ()] = $ member ;
31
35
return $ this ;
32
36
}
33
37
34
38
public function addManyToOne ($ member , $ name , $ className , $ nullable = false ) {
35
- if (\array_key_exists ( $ member , $ this ->members ) === false ) {
36
- $ this ->addMember ( new Member ( $ member ) );
37
- $ this ->removeMember ( $ name );
39
+ if (\array_key_exists ( $ member , $ this ->members ) === false ) {
40
+ $ this ->addMember ( new Member ( $ member) );
41
+ $ this ->removeMember ( $ name );
38
42
}
39
- $ this ->members [$ member ]->addManyToOne ( $ name , $ className , $ nullable );
43
+ $ this ->members [$ member ]->addManyToOne ( $ name , $ className , $ nullable );
40
44
}
41
45
42
46
public function removeMember ($ memberName ) {
43
- if (isset ( $ this ->members [$ memberName ] ) && $ this ->members [$ memberName ]->isPrimary () === false )
44
- unset ( $ this ->members [$ memberName ] );
47
+ if (isset ( $ this ->members [$ memberName ]) && $ this ->members [$ memberName ]->isPrimary () === false )
48
+ unset( $ this ->members [$ memberName ]);
45
49
}
46
50
47
51
public function addOneToMany ($ member , $ mappedBy , $ className ) {
48
- if (\array_key_exists ( $ member , $ this ->members ) === false ) {
49
- $ this ->addMember ( new Member ( $ member ) );
52
+ if (\array_key_exists ( $ member , $ this ->members ) === false ) {
53
+ $ this ->addMember ( new Member ( $ member) );
50
54
}
51
- $ this ->members [$ member ]->addOneToMany ( $ mappedBy , $ className );
55
+ $ this ->members [$ member ]->addOneToMany ( $ mappedBy , $ className );
52
56
}
53
57
54
58
public function addManyToMany ($ member , $ targetEntity , $ inversedBy , $ joinTable , $ joinColumns = [], $ inverseJoinColumns = []) {
55
- if (\array_key_exists ( $ member , $ this ->members ) === false ) {
56
- $ this ->addMember ( new Member ( $ member ) );
59
+ if (\array_key_exists ( $ member , $ this ->members ) === false ) {
60
+ $ this ->addMember ( new Member ( $ member) );
57
61
}
58
- $ this ->members [$ member ]->addManyToMany ( $ targetEntity , $ inversedBy , $ joinTable , $ joinColumns , $ inverseJoinColumns );
62
+ $ this ->members [$ member ]->addManyToMany ( $ targetEntity , $ inversedBy , $ joinTable , $ joinColumns , $ inverseJoinColumns );
59
63
}
60
64
61
65
public function __toString () {
@@ -64,22 +68,22 @@ public function __toString() {
64
68
$ result .= "namespace " . $ this ->namespace . "; \n" ;
65
69
}
66
70
if ($ this ->database != null && $ this ->database !== 'default ' ) {
67
- $ result .= $ this ->getAnnotation ( "database(' {$ this ->database }') " );
71
+ $ result .= $ this ->getAnnotation ( "database(' {$ this ->database }') " );
68
72
}
69
- if ($ this ->table !==$ this ->name ){
70
- $ result .= $ this ->getAnnotation ( "table(' {$ this ->table }') " );
73
+ if ($ this ->table !== $ this ->name ) {
74
+ $ result .= $ this ->getAnnotation ( "table(' {$ this ->table }') " );
71
75
}
72
- $ result .= "class " . ucfirst ( $ this ->name ) . "{ " ;
76
+ $ result .= "class " . ucfirst ( $ this ->name ) . "{ " ;
73
77
$ members = $ this ->members ;
74
- \array_walk ( $ members , function ($ item ) {
78
+ \array_walk ( $ members , function ($ item ) {
75
79
return $ item . "" ;
76
- } );
77
- $ result .= \implode ( "" , $ members );
78
- foreach ( $ members as $ member ) {
79
- $ result .= $ member ->getGetter ();
80
- $ result .= $ member ->getSetter ();
80
+ });
81
+ $ result .= \implode ( "" , $ members );
82
+ foreach ($ members as $ member ) {
83
+ $ result .= $ member ->getGetter ();
84
+ $ result .= $ member ->getSetter ();
81
85
}
82
- $ result .= $ this ->getToString ();
86
+ $ result .= $ this ->getToString ();
83
87
$ result .= "\n} " ;
84
88
return $ result ;
85
89
}
@@ -101,27 +105,27 @@ public function setDatabase($database) {
101
105
102
106
public function isAssociation () {
103
107
$ count = 0 ;
104
- foreach ( $ this ->members as $ member ) {
105
- if ($ member ->isManyToOne () === true || $ member ->isPrimary () === true ) {
108
+ foreach ($ this ->members as $ member ) {
109
+ if ($ member ->isManyToOne () === true || $ member ->isPrimary () === true ) {
106
110
$ count ++;
107
111
}
108
112
}
109
- return $ count == \sizeof ( $ this ->members );
113
+ return $ count == \sizeof ( $ this ->members );
110
114
}
111
115
112
116
public function getPrimaryKey () {
113
- foreach ( $ this ->members as $ member ) {
114
- if ($ member ->isPrimary () === true ) {
117
+ foreach ($ this ->members as $ member ) {
118
+ if ($ member ->isPrimary () === true ) {
115
119
return $ member ;
116
120
}
117
121
}
118
122
return null ;
119
123
}
120
124
121
125
public function getPkName () {
122
- $ pk = $ this ->getPrimaryKey ();
123
- if (isset ( $ pk ))
124
- return $ pk ->getName ();
126
+ $ pk = $ this ->getPrimaryKey ();
127
+ if (isset ( $ pk ))
128
+ return $ pk ->getName ();
125
129
return null ;
126
130
}
127
131
@@ -130,10 +134,10 @@ public function getDefaultFk() {
130
134
}
131
135
132
136
public function getManyToOneMembers () {
133
- $ result = array ();
134
- foreach ( $ this ->members as $ member ) {
135
- if ($ member ->isManyToOne () === true ) {
136
- $ result [] = $ member ;
137
+ $ result = array ();
138
+ foreach ($ this ->members as $ member ) {
139
+ if ($ member ->isManyToOne () === true ) {
140
+ $ result [] = $ member ;
137
141
}
138
142
}
139
143
return $ result ;
@@ -142,11 +146,35 @@ public function getManyToOneMembers() {
142
146
private function getToStringField () {
143
147
$ result = null ;
144
148
// Array of multiple translations of the word "password" which could be taken as name of the table field in database
145
- $ pwArray = array ('password ' ,'senha ' ,'lozinka ' ,'heslotajne ' ,'helslo_tajne ' ,'wachtwoord ' ,'contrasena ' ,'salasana ' ,'motdepasse ' ,'mot_de_passe ' ,'passwort ' ,'passord ' ,'haslo ' ,'senha ' ,'parola ' ,'naponb ' ,'contrasena ' ,'loesenord ' ,'losenord ' ,'sifre ' ,'naponb ' ,'matkhau ' ,'mat_khau ' );
146
- foreach ( $ this ->members as $ member ) {
147
- if ($ member ->getDbType () !== 'mixed ' && $ member ->isNullable () !== true && ! $ member ->isPrimary ()) {
148
- $ memberName = $ member ->getName ();
149
- if (! \in_array ( $ memberName , $ pwArray )) {
149
+ $ pwArray = array (
150
+ 'password ' ,
151
+ 'senha ' ,
152
+ 'lozinka ' ,
153
+ 'heslotajne ' ,
154
+ 'helslo_tajne ' ,
155
+ 'wachtwoord ' ,
156
+ 'contrasena ' ,
157
+ 'salasana ' ,
158
+ 'motdepasse ' ,
159
+ 'mot_de_passe ' ,
160
+ 'passwort ' ,
161
+ 'passord ' ,
162
+ 'haslo ' ,
163
+ 'senha ' ,
164
+ 'parola ' ,
165
+ 'naponb ' ,
166
+ 'contrasena ' ,
167
+ 'loesenord ' ,
168
+ 'losenord ' ,
169
+ 'sifre ' ,
170
+ 'naponb ' ,
171
+ 'matkhau ' ,
172
+ 'mat_khau '
173
+ );
174
+ foreach ($ this ->members as $ member ) {
175
+ if ($ member ->getDbType () !== 'mixed ' && $ member ->isNullable () !== true && ! $ member ->isPrimary ()) {
176
+ $ memberName = $ member ->getName ();
177
+ if (! \in_array ($ memberName , $ pwArray )) {
150
178
$ result = $ memberName ;
151
179
}
152
180
}
@@ -159,11 +187,11 @@ private function getAnnotation($content) {
159
187
}
160
188
161
189
public function getToString () {
162
- $ field = $ this ->getToStringField ();
163
- if (isset ( $ field )) {
190
+ $ field = $ this ->getToStringField ();
191
+ if (isset ( $ field )) {
164
192
$ corps = '$this-> ' . $ field ;
165
- } elseif (($ pkName = $ this ->getPkName ()) !== null ) {
166
- $ corps = '$this-> ' . $ pkName ;
193
+ } elseif (($ pkName = $ this ->getPkName ()) !== null ) {
194
+ $ corps = '$this-> ' . $ pkName . " ??'no value' " ;
167
195
} else {
168
196
$ corps = '" ' . $ this ->name . '@" ' . '.\spl_object_hash($this) ' ;
169
197
}
0 commit comments