2011-05-22 21 views
0

由于我再次使用ZendFramework,我开始“扩展”QuickStart应用程序。 我使用ZendX jQuery组件作为View Helper。 我有一个控制器MonsterController这有除的indexAction两个动作:似乎要求处理请求,但服务器返回错误页面

的addAction

attackAction

双方通过_getParam($param, $default)采取PARAMS。 addAction的示例查询将是/monster/add/dragon/health/100/attackDamage/23。 attackAction只需要一个Id。

实际的问题是,如果我打电话给他们中的任何一个,我会得到一个“应用程序错误”。 没有堆栈跟踪或其他任何与“应用程序错误”的普通页面。 这不应该发生。

有趣的是,addAction实际上执行了一个操作,将所需的怪物添加到数据库中,但是attackAction什么都不做。

public function attackAction() 
{ 
    $id = $this->_getParam("id", null); 
    $mapper = new Application_Model_MonsterMapper(); 
    $monster = new Application_Model_Monster(array("Id" => $id, "health" => 1)); 
    $mapper->save($monster); 
} 

public function addAction() 
{ 
    $monster = new Application_Model_Monster(); 
    $monster->setName($this->_getParam("name", "")) 
      ->setHealth($this->_getParam("health", 0)) 
      ->setAttackDamage($this->_getParam("attackDamage", 0)); 
    $mapper = new Application_Model_MonsterMapper(); 
    $mapper->save($monster); 
} 

public function save(Application_Model_Monster $model) 
{ 
    $data = array(
      'name' => $model->getName(), 
      'health' => $model->getHealth(), 
      'attackDamage' => $model->getAttackDamage() 
        ); 
    if (null === ($id = $model->getId())) { 
     unset($data['id']); 
     $this->getDbTable()->insert($data); 
    } else { 
     $this->getDbTable()->update($data, array('id = ?' => $id)); 
    } 
} 

回答

1

转到应用程序\ CONFIGS,你会看到有感兴趣的文件:用“错误”

application.ini 

按Ctrl + F在它和你明白下一步该怎么做。

相关问题