alestro
@alestro

Динамическое задание свойств объекта, много ли съест производительности?

Суть в следующем:
Есть один метод и одна функция. Метод принимает массив, экранирует его и возвращает. А функция принимает массив и объект, после чего задает свойствам полученного объекта значения из переданного массива.
Так вот, в метод я передаю супер глобальную $_POST, после чего чистый массив передаю функции и получаю нужный мне объект с заданными свойствами. Но интересно, окажут ли эти не хитрые манипуляции влияние на производительность и если да, то как сильно.
Метод:
public static function arrayEscape(array $array, $deliteEmptyKeys=false){
		if($deliteEmptyKeys){
	  		foreach($array as $key => $value){
		   		if(!empty($value)){
	       			$clean[$key] = static::$db->escape($value);
		   		}
	  		}
		}
		else{
			foreach($array as $key => $value){
		   		$clean[$key] = static::$db->escape($value); /* Вызывается метод экранирования строк, хранящийся в статической переменной $db */
			}
		}
	  return $clean;
	}

Функция:
function arrayToObject($object, array $arr){
	$prop=get_object_vars($object);
	foreach($arr as $key=>$value){
		if(array_key_exists($key,$prop)){
			$object->$key = $arr[$key];
		}
	}
}

Использую таким образом:
$clean = Db_querys::arrayEscape($_POST,true);
arrayToObject($object,$clean);

Вместо записи такого вида:
$object->prop1 = $db->escape($_POST['prop1']);
$object->prop2 = $db->escape($_POST['prop2']);

И так сколь угодно свойтсв
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@nelson
На производительность никакого влияния не окажет, если у вас меньше 100 запросов с POST в секунду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы