2010-04-07 9 views
0

이 작업은 심포니 1.2에서 생성 된 작업의 라인에 대한 질문 당신이 모듈을 만들 :심포니 1.2 :

public function executeUpdate(sfWebRequest $request) { 
    $this->forward404Unless($request->isMethod('post') || $request->isMethod('put')); 
    $this->forward404Unless($usuario = Doctrine::getTable('Usuario')->find(array($request->getParameter('id'))), sprintf('Object usuario does not exist (%s).', $request->getParameter('id'))); 
    $this->form = new UsuarioForm($usuario); 

    $this->processForm($request, $this->form); 

    $this->setTemplate('edit'); 
} 

일부가?

$this->forward404Unless($request->isMethod('post') || $request->isMethod('put')); 

나는 '돈 라인을 설명 할 수를 왜 거기에 있는지 이유를 알지 못합니다.

감사

하비는

답변

1

선은 if the user just clicked "submit" on the form and a POST request was made을 말한다.

없이는 사람들이 데이터를 보내지 않고도 해당 작업을 탐색 할 수 있습니다.

아무도 PUT을 사용하지 않고 부분을 제거하는 것이 좋습니다.

+0

마지막 문장을 제외하고 정답입니다. 사람들은 PUT을 RESTful 아키텍처의 일부로 자주 사용합니다. http://en.wikipedia.org/wiki/Representational_State_Transfer#Public_implementations – Raise

+0

감사합니다. 액션의 아래 코드는 사용자가 "제출"을 클릭 한 경우에만 실행됩니다. 악의적 인 사용자가 직접 조치를 취하지 않도록하는 방법은 무엇입니까? 또는 목표는 무엇입니까? – ziiweb