0

我对一些 MVC 设计和表单提交有疑问。当我想保存资源时,我遇到了一些问题。

例如,我有一个vehicle具有给定方法的控制器名称:

vehicle
  |-- list
      `-- GET  - Display the list of vehicle.
  |-- add
      |-- GET  - Display the form for adding a vehicle.
      `-- POST - Save the added vehicle.

我的问题是,在用户保存车辆后,我想返回显示通知的车辆列表。view_model.add_notification是一种在视图上显示通知的方法。

a)当我在查询字符串中看到问题时,我将用户重定向到vehicle/list?success=1并调用:URL 将包含.view_model.add_notificationsuccess
success=1

b)在POST请求vehicle/add中,我在保存车辆并调用后显示列表view_model.add_notification
问题:URL 将是vehicle/add

c)我把我的控制器改成了这个

vehicle
  |-- list
      `-- GET  - Display the list of vehicle.
      `-- POST - Save the added vehicle.
  |-- add
      |-- GET  - Display the form for adding a vehicle.

所以我可以打电话view_model.add_notification('success')然后显示列表,URL就可以了。
问题:我觉得将保存代码放入list方法中的设计不正确。

拜托,你能给我一些关于如何设计它的最佳方式的意见吗?总结一下我写的命题:
a)糟糕的网址
b)糟糕的网址
c)糟糕的设计

4

1 回答 1

0

只需设置一个会话变量

$_SESSION['success'] = true;

并将用户重定向到列表页面。那么你也能

if( isset($_SESSION['success']) ) {

    // Do what you want to do when success is set

    unset($_SESSION['success']);
}
于 2013-09-28T00:24:49.727 回答