san*_*ers 5 php variables model-view-controller design-patterns zend-framework
我已经构建了一个符合PHP中mvc模式的系统.控制器和操作是我的应用程序中URL的一部分.所以我有:
www.example.com/controller/action/
所以现在我正在寻找一种传递变量的方法.对于表单我只使用post方法,但有时我只想链接到不同的页面,然后传递一些变量.
我想就如何做到这一点提出一些建议.我知道Zend Framework在控制器中的操作之后使用"/"字符作为分隔符将变量作为键/值对,如下所示:
www.example.com/controller/action/var1/value1/var2/value2
这是最好的方法吗?这实际上是我知道它完成的唯一方式.我正在寻找一种简单但又好的方法来实现它.
欢迎任何建议.
像CodeIgniter这样的框架允许您将变量传递给控制器而不会泄露变量名称 -
/controller/action/foo/bar/
将被处理为:
function action( $id, $value){
  echo $id; // outputs 'foo'
  echo $value; // outputs 'bar'
}
http://codeigniter.com/user_guide/general/controllers.html
我喜欢这个,因为它可以让你控制你的控制器会接受多少参数,如果从不使用某些变量很重要,你可以做适当的逻辑或重定向.
您可以选择通过 GET 或 POST 传递变量。
GET 将以漂亮的格式将变量附加到 URL
 /controller/action/var1/value1/var2/value2
或传统方式
 /controller/action/?var1=value1&var2=value2
在前一种情况下,您仍然需要编写 Apache 重写规则来从 URL 中提取变量,并使用正确的变量集作为 $_REQUEST 的一部分路由到控制器/操作。
如果您使用 POST,则可以向每个表单添加隐藏值作为传递变量的方式。
对于您不希望公开的变量,您可以使用会话将它们存储在服务器端。
| 归档时间: | 
 | 
| 查看次数: | 6211 次 | 
| 最近记录: |