I’m trying to test my form. It will be constructing other objects, so I need a way to mock them. I tried passing them into the constructor…
class Form_Event extends Zend_Form
{
public function __construct($options = null, $regionMapper = null)
{
$this->_regionMapper = $regionMapper;
parent::__construct($options);
}
…but I get an exception:
Zend_Form_Exception: Only form elements and groups may be overloaded; variable of type "Mock_Model_RegionMapper_b19e528a" provided
What am I doing wrong?
A quick look at the sourcecode of
Zend_Formshows the Exception is thrown in the__set()method. The method is triggered because you are assigning$_regionMapperon the fly when it doesn’t exist.Declare it in the class and it should work fine, e.g.
See the chapter on Magic Methods in the PHP Manual.