コード例 #1
0
ファイル: BindRequest.php プロジェクト: norzechowicz/datagrid
 /**
  * {@inheritdoc}
  */
 public function preBindData(DataGridEventInterface $event)
 {
     $dataGrid = $event->getDataGrid();
     $request = $event->getData();
     if (!$request instanceof Request) {
         return;
     }
     $name = $dataGrid->getName();
     $default = array();
     switch ($request->getMethod()) {
         case 'POST':
         case 'PUT':
         case 'DELETE':
         case 'PATCH':
             $data = $request->request->get($name, $default);
             break;
         case 'GET':
             $data = $request->query->get($name, $default);
             break;
         default:
             throw new DataGridException(sprintf('The request method "%s" is not supported', $request->getMethod()));
     }
     $event->setData($data);
 }