When should I use PHP Session vs Browser Local Storage vs JavaScript Object Parameters?(何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?)
问题描述
什么时候适合使用现代基于Ajax的应用程序存储数据的多种不同方式?我希望能给开发人员一些具体的指导。这是我到目前为止看到的情况,而且越来越乱。PHP服务器端会话:PHP会话数据可能是存储基于会话的信息的最古老方式。我经常从JavaScript/jQuery对象通过各种Ajax调用传递参数-以存储在PHP会话中。我还将数据对象(一些会话信息)作为响应/结果返回给JavaScript/jQuery方法。
基于浏览器的本地存储:这通常用于存储需要保存在前端的数据,但有时我不确定何时使用它。一个很好的用途是存储Navigator.geolocation中的地理位置信息。我在这里储存了很多信息,但我不确定这是不是明智之举。它似乎永远不会过期,但可以从资源中删除。
带有配置参数的JavaScript对象:我一直在使用设置‘settings’参数的init方法构建JavaScipts对象。这非常有用,因为我通常使用从PHP传入的数据构建它。使用jQuery Mobile,这些数据甚至可以从一个页面持久化到另一个页面,并随着Ajax请求响应而改变。
那么,您对每种方法的使用有什么指导原则?
推荐答案
PHP会话数据不是永久性数据存储,因为当您销毁浏览器会话时,您将丢失数据。如果您不执行此操作,这将非常有用 希望永久存储数据。
浏览器本地存储是永久性的,除非您自己删除数据或清除浏览器缓存。某些用户会不时清除缓存,因此这可能会成为问题。
任何其他方法(如对象)都不是永久性数据存储。
其他与浏览器相关的永久存储是Cookie(如果您不 在会话关闭时过期),索引数据库(检查此处了解当前浏览器支持http://caniuse.com/#feat=indexeddb)。
因此,根据您的网站或应用程序,您需要决定需要哪些数据 存储短时间、长时间或永久,直到您手动将其删除。 举个例子,如果您要存储以下内容,您将使用LocalStorage 书签,如果您存储的是地理位置点,则使用Cookie 并在关闭浏览器或应用程序后使其过期。 如果您使用PHP登录帐户,则最佳做法是创建PHP 会话,甚至在用户单击时更改会话超时 (记住我)。这些只是数千种可能需求中的几个示例。
这篇关于何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:何时应该使用PHP会话、浏览器本地存储和JavaScript对象参数?
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- PHP foreach() 与数组中的数组? 2022-01-01