jbl*_*lue 1 php zend-framework
我是新来的,所以我不确定什么是组织我正在尝试做的最好的方法.我指导用户进行一系列测验.mysite.com/quiz1 mysite.com/quiz2 mysite.com/quiz3 mysite.com/quiz4
当用户回答第一个测验时,他被转发到一个页面,告诉他他的答案是否正确,并且在同一页面上他可以选择回答另一个测验.如果他回答,他将再次被带到一个页面,在那里他被告知他的答案是否正确并提交第三个测验.
从架构方面来看,这些quiz1,quiz2等各个页面都被认为是自己的控制器吗?他们的路径说他们可能是,但如果是的话对我没有意义.有没有办法让它们在相同的路径上,但将它们捆绑在同一个控制器中.正如我所说,我是Zend的新手,所以我希望得到一些关于正确方法的反馈意见.
我会做一个Quiz控制器,它将有showQuiz(),validateQuiz()等动作来读取测验参数.这样您就可以重用大部分代码.quizes将是db中的条目,您还可以在其中构建路径或连接.
class QuizController extends Zend_Controller_Action
{
public function showAction()
{
// you can play this in routes but it could be basically something like this
// localhost/quiz/id/1
$quiz_id = $this->_request->getParam('id');
$this->view->quiz = $this->getQuizTable()->find($quiz_id);
}
public function validateAction()
{
$quiz_id = $this->_request->getParam('id');
$quiz = $this->getQuizTable()->find($quiz_id);
$quiz->validate(); // build your own validator function
}
}
Run Code Online (Sandbox Code Playgroud)