Bueno después de varios test...., deberia lanzar la Exception en los dos casos porque Zend_Session_Abstract::$_writable es false, no lo hace por un
bug(aparece como cerrado, pero sigue fallando) de php, este codigo:
Código PHP:
Ver original$this->orden->id[$i] = $this->_getParam('id');
no ejecuta el Zend_Session_Namespace::__set que es quien lanza la Exception al setear valores si Zend_Session::$_writable es false, pero la propiedad se crea igual(ouch!), te invito a que lo pruebes, crea primero la propiedad como array y después asignale el valor(no importa que sobrescriba el valor anterior es solo a para que lo veas), con esto si va a entrar a Zend_Session_Namespace::__set y va a lanzar la Exception, que es como debería funcionar sino estuviera el bug.
Código PHP:
Ver originalpublic function agregarAction()
{
...
$this->orden->id = array(); $this->orden->id[$i] = $this->_getParam('id');
...
}
La conclusión es que en alguna parte, Bootstrap, Plugin, etc.. estas modificando Zend_Session_Abstract::$_writable.