CakePHP - 保持应用程序状态的最佳方法?

时间:2015-07-01 15:17:58

标签: cakephp cakephp-2.0

我有一个应用程序可以跟踪并显示当地体育联盟的各种统计数据。我的一个要求是能够按游戏类型,联盟ID和位置ID分解统计数据。用户为这3个项目中的每一个选择一个值,然后关闭以查看存储在会话中的3个变量的各种统计数据。这很好,但我的问题是用户无法链接回他们正在查看的任何统计数据。我知道我可以延长会话的生命周期,但是我宁愿在URL中传递这3个变量的状态,这样我就可以链接回任何特定的统计页面,其中任何一个或者没有变量定义。

查询字符串似乎是一种显而易见的方法,但我无法告诉我是否有任何方法可以自动地使用'将查询字符串附加到应用程序中生成的所有链接,或者如果我手动需要通过并在生成链接或执行重定向的任何位置添加查询字符串参数。这似乎是蛮力的方法,我觉得必须有一种更好的方法来做这种我缺失的持久性。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

由于多种原因(链接,搜索引擎优化等),请使用网址,而不是会话/ Cookie。而不是ID,而是使用slugs:

  

www.mysite.com/league/football/youth/newyork

我确信有很多不同的方法可以保持网址的一致性,但我能想到的方法如下:

  • 您可以使用Cake的路由功能将每个项目设置为变量并制作漂亮的URL
  • 在AppController的beforeFilter()中,设置每个项目的会话(类型,联盟,位置)
  • Make a custom MyHtmlHelper
  • 其中,检查每个会话的会话是否包含数据,如果包含数据,请附加到需要它的每个链接(仅可用于特定控制器,操作......等)

我希望有一种更简单的方法,但这就是我能想到的一切。