1010
1111use Inhere \Http \UploadedFile ;
1212use Inhere \Http \Uri ;
13- use Inhere \Library \Helpers \PhpHelper ;
1413use Inhere \Validate \FilterList ;
15- use Inhere \Library \Types ;
1614
1715/**
1816 * trait ExtendedRequestTrait
5351 */
5452trait ExtendedRequestTrait
5553{
56- /**
57- * return raw data
58- */
54+ /** @var string */
5955 private static $ rawFilter = 'raw ' ;
6056
57+ /** @var array */
58+ private static $ phpTypes = [
59+ 'int ' , 'integer ' ,
60+ 'float ' , 'double ' ,
61+ 'bool ' , 'boolean ' ,
62+ 'string ' ,
63+
64+ 'array ' , 'object ' , 'resource '
65+ ];
66+
6167 /**
6268 * @var array
6369 */
@@ -236,7 +242,7 @@ public function filtering($value, $filter = null)
236242
237243 // is custom callable filter
238244 if (is_callable ($ filter )) {
239- $ result = PhpHelper:: call ( $ filter, $ value );
245+ $ result = $ filter( $ value );
240246 }
241247
242248 return $ result ;
@@ -245,29 +251,29 @@ public function filtering($value, $filter = null)
245251 // is a defined filter
246252 $ filter = self ::$ filterList [$ filter ];
247253
248- if (!in_array ($ filter , Types:: all () , true )) {
249- $ result = PhpHelper:: call ( $ filter, $ value );
254+ if (!in_array ($ filter , self :: $ phpTypes , true )) {
255+ $ result = $ filter( $ value );
250256 } else {
251257 switch (lcfirst (trim ($ filter ))) {
252- case Types:: T_BOOL :
253- case Types:: T_BOOLEAN :
258+ case ' bool ' :
259+ case ' boolean ' :
254260 $ result = (bool )$ value ;
255261 break ;
256- case Types:: T_DOUBLE :
257- case Types:: T_FLOAT :
262+ case ' double ' :
263+ case ' float ' :
258264 $ result = (float )$ value ;
259265 break ;
260- case Types:: T_INT :
261- case Types:: T_INTEGER :
266+ case ' int ' :
267+ case ' integer ' :
262268 $ result = (int )$ value ;
263269 break ;
264- case Types:: T_STRING :
270+ case ' string ' :
265271 $ result = (string )$ value ;
266272 break ;
267- case Types:: T_ARRAY :
273+ case ' array ' :
268274 $ result = (array )$ value ;
269275 break ;
270- case Types:: T_OBJECT :
276+ case ' object ' :
271277 $ result = (object )$ value ;
272278 break ;
273279 default :
0 commit comments