【问题标题】:PHP session handling to save to database [closed]PHP会话处理以保存到数据库[关闭]
【发布时间】:2023-03-24 06:28:01
【问题描述】:

学习 PHP,对我来说最令人沮丧的障碍似乎是通过过时的教程、博客和论坛帖子来寻找相关的现代指南。

我想了解如何以正确的方式将会话数据保存到数据库。但是,我能找到的大多数说明都是关于自定义会话处理程序的,而且似乎已经有很多年了,这让我很担心。我不想浪费时间学习过时的程序。自定义处理程序仍然是实现此目的的方法吗?是否有更好/更新的将会话存储到数据库的模式?我将非常感谢任何花时间为我指明正确方向的人。非常感谢!

【问题讨论】:

  • 我建议只使用一个好的框架。例如 Symphony 和 Laravel 就是很好的。内置的 PHP 会话只能做这么多。
  • 是的,如果您想这样做,自定义处理程序仍然是可行的方法。你的第一步应该永远是official docsat php.net。创建一个实现本机SessionHandlerInterface 的类并将其设置为处理程序。文档中的 session_set_save_handler() 函数在 1 年前的 cmets 中有一个合理的示例。
  • @apokryfos - 谢谢。我当然有意使用框架。在此之前,我只想尽可能多地学习核心 php。
  • @rickdenhaan - 谢谢,感谢您的回复。真的想确保我正在学习现代实践。

标签: php database session


【解决方案1】:

要确认 @rickdenhaan 在 cmets 中所说的内容,自定义处理程序是正确的方法。

PHP 没有提供很多不同的会话句柄。也许是因为 Zend(支持 PHP)提供了 Zend Session 工具。

为避免重新发明轮子,您必须选择:

使用框架

它将为您处理所有此类事情:会话、MVC、ORM、配置文件等

大多数时候,这是新项目的正确选择,而 Symfony 和 Laravel 是很好的开始项目。

使用外部模块

如果您想要更模块化的方法,您可以使用 composer 导入外部模块并创建适合您特定需求的东西。

这可能是重构现有项目(基于旧框架或遗留代码)的好方法

在这种情况下,您仍然不需要重新发明轮子,您可以使用 Zend Tools 来处理您的会话: https://github.com/zendframework/zend-session

用 composer 安装它并开始使用它。与内置 php 工具一起使用 session_set_save_handler()

我希望这可以更广泛地回答您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2020-04-13
    • 2020-09-11
    • 1970-01-01
    • 2019-05-02
    • 2015-09-11
    相关资源
    最近更新 更多