Просмотр исходного кода

- fixed compatibility problems with php 5.2

Franco Ponticelli 15 лет назад
Родитель
Сommit
6c7c9b733d
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      std/php/Boot.hx

+ 4 - 3
std/php/Boot.hx

@@ -283,7 +283,7 @@ function _hx_field($o, $field) {
 				return array($o->__tname__, $field);
 			} else {
 				$name = $o->__tname__;
-				return $name::${$field};
+				return eval('return '.$name.'::$'.$field.';');
 			}
 		} else {
 			if(is_string($o)) {
@@ -644,7 +644,7 @@ class _hx_type {
 		$this->__qname__ = $qn;
 		$this->__path__ = $path;
 		if(property_exists($cn, '__meta__'))
-			$this->__meta__ = $cn::$__meta__;
+			$this->__meta__ =  eval($cn.'::$__meta__');
 	}
 
 	public function toString()   { return $this->__toString(); }
@@ -725,7 +725,8 @@ class _hx_lambda {
 		$arr = array();
 		for ($i = 0; $i<count($this->locals);$i++)
 			$arr[] = & $this->locals[$i];
-		return call_user_func_array($this->func, array_merge($arr, func_get_args()));
+		$args = func_get_args();
+		return call_user_func_array($this->func, array_merge($arr, $args));
 	}
 }