ZF-7361: hasMethod() and hasProperty() of Zend_CodeGenerator_Php_Class is not working
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.
Comments
Posted by Khary Sharpe (ksharpe) on 2009-07-23T16:27:59.000+0000
Would making the following changes address this?
Zend_CodeGenerator_Php_Class::setMethod() approx line 377 (r16971)
From:
To:
Similarly
Zend_CodeGenerator_Php_Class::setProperty() approx line 299 (r16971)
From:
To:
Posted by Rüdiger Krieg (dbc_rkrieg) on 2009-07-24T01:55:56.000+0000
Yes, this is one way fixing the bug. In addition I would improve the code of the methods hasMethod() and hasProperty() as mentioned in the description.
Posted by Rüdiger Krieg (dbc_rkrieg) on 2009-08-20T03:53:51.000+0000
The priority of this issue was changed to "N/A - Not Applicable". I don't understand this priority :) Does this mean the issue will not be solved?
Posted by Benjamin Eberlei (beberlei) on 2009-09-06T02:55:14.000+0000
Confirmed, i'll take it on :-)
Posted by Benjamin Eberlei (beberlei) on 2009-09-06T03:17:29.000+0000
Fixed in trunk and merged back into 1.9 release branch.