@@ -107,50 +107,39 @@ public function __call($type, $args)
107107 $ numberPattern = "/ " .\implode ('| ' , $ numberTypes )."/i " ;
108108 $ dateTimePattern = "/ " .\implode ('| ' , $ dateTimeTypes )."/i " ;
109109 $ objectPattern = "/ " .\implode ('| ' , $ objectTypes )."/i " ;
110-
111- $ data = null ;
112- if (\preg_match ($ stringPattern , $ type )) {
110+
111+ $ store = '' ;
112+ $ value = '' ;
113+ $ options = '' ;
114+ $ extra = '' ;
115+ if (\preg_match ($ stringPattern , $ type )
116+ || \preg_match ($ numberPattern , $ type )
117+ || \preg_match ($ dateTimePattern , $ type )
118+ ) {
113119 // check for string data type
120+ // check for whole number data type
121+ // check for date time data type
114122 $ numberOrString = $ args [0 ];
115123 $ store = \is_int ($ numberOrString ) ? '( ' .$ numberOrString .') ' : '' ;
116124 $ store = empty ($ store ) && !empty ($ numberOrString ) ? ' ' .$ numberOrString : $ store ;
117125 $ value = !empty ($ args [1 ]) ? ' ' .$ args [1 ] : '' ;
118126 $ options = !empty ($ args [2 ]) ? ' ' .$ args [2 ] : '' ;
119127 $ extra = !empty ($ args [3 ]) ? ' ' .$ args [3 ] : '' ;
120- $ data = $ type .$ store .$ value .$ options .$ extra ;
121128 } elseif (\preg_match ($ numericPattern , $ type )) {
122129 // check for numeric data type
123- $ size = '( ' .(!empty ($ args [0 ]) ? $ args [0 ] : 10 ).', ' ;
124- $ size .= (!empty ($ args [1 ]) ? $ args [1 ] : 2 ).') ' ;
130+ $ store = '( ' .(!empty ($ args [0 ]) ? $ args [0 ] : 10 ).', ' ;
131+ $ store .= (!empty ($ args [1 ]) ? $ args [1 ] : 2 ).') ' ;
125132 $ value = !empty ($ args [2 ]) ? ' ' .$ args [2 ] : '' ;
126133 $ options = !empty ($ args [3 ]) ? $ args [3 ] : '' ;
127134 $ extra = !empty ($ args [4 ]) ? ' ' .$ args [4 ] : '' ;
128- $ data = $ type .$ size .$ value .$ options .$ extra ;
129- } elseif (\preg_match ($ numberPattern , $ type )) {
130- // check for whole number data type
131- $ numberOrString = $ args [0 ];
132- $ store = \is_int ($ numberOrString ) ? '( ' .$ numberOrString .') ' : '' ;
133- $ store = empty ($ store ) && !empty ($ numberOrString ) ? ' ' .$ numberOrString : $ store ;
134- $ value = !empty ($ args [1 ]) ? ' ' .$ args [1 ] : '' ;
135- $ options = !empty ($ args [2 ]) ? ' ' .$ args [2 ] : '' ;
136- $ extra = !empty ($ args [3 ]) ? ' ' .$ args [3 ] : '' ;
137- $ data = $ type .$ store .$ value .$ options .$ extra ;
138- } elseif (\preg_match ($ dateTimePattern , $ type )) {
139- // check for date time data type
140- $ numberOrString = $ args [0 ];
141- $ store = \is_int ($ numberOrString ) ? '( ' .$ numberOrString .') ' : '' ;
142- $ fraction = empty ($ store ) && !empty ($ numberOrString ) ? ' ' .$ numberOrString : $ store ;
143- $ value = !empty ($ args [1 ]) ? ' ' .$ args [1 ] : '' ;
144- $ options = !empty ($ args [2 ]) ? ' ' .$ args [2 ] : '' ;
145- $ data = $ type .$ fraction .$ value .$ options ;
146135 } elseif (\preg_match ($ objectPattern , $ type )) {
147136 // check for large object data type
148- $ value = !empty ($ args [0 ]) ? ' ' .$ args [0 ] : ' ' ;
149- $ data = $ type .$ value ;
137+ $ store = !empty ($ args [0 ]) ? ' ' .$ args [0 ] : ' ' ;
150138 } else {
151139 throw new \Exception ("$ type does not exist " );
152140 }
153141
142+ $ data = $ type .$ store .$ value .$ options .$ extra ;
154143 return $ data ;
155144 }
156145
0 commit comments