Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.9.3
-
Component/s: Zend_CodeGenerator
-
Labels:None
Description
Methods and Properties are added via inherited append() of ArrayObject. All accesses to $this->_methods[$methodName] and $this->_properties[$propertyName] are not working because append() does not set any associative key.
My suggestion would be to not use append() or overriding it.
If indexed access is possible then getMethod() and getProperty() can be improved by dropping the loops and accessing the ArrayObject directly.
Would making the following changes address this?
Zend_CodeGenerator_Php_Class::setMethod() approx line 377 (r16971)
From:
$this->_methods->append($method);To:
$this->_methods[$methodName] = $method;Similarly
Zend_CodeGenerator_Php_Class::setProperty() approx line 299 (r16971)
From:
$this->_properties->append($property);To:
$this->_properties[$propertyName] = $property;$this->_methods->append($method);$this->_methods[$methodName] = $method;$this->_properties->append($property);$this->_properties[$propertyName] = $property;