gpt4 book ai didi

PHP:持久变量值

转载 作者:可可西里 更新时间:2023-11-01 00:09:53 25 4
gpt4 key购买 nike

我必须读取一个文件并进行一些计算,然后将计算结果保存在一个变量中。

我只需要这样做一次。在 Java + Servlet 中,我可以使用 servlet 容器和例如单例模式来完成此操作。

我知道在 PHP 中我不能这样做。哪种方法更好?在 DB 上保存计算(或传输数据)?

最佳答案

不,它不会像 Java Servlet 那样工作。您必须找到解决方法。

首先,我假设通常使用 $_SESSION、$_COOKIE 或 $_REQUEST 对您来说不切实际,因为您希望按服务器(或应用程序)而不是按“用户 session ”保存状态。

在您的情况下,使用数据库听起来很可行。在常规应用程序设计中,它将是最常见的解决方案。

您也可以使用 PHP 的序列化功能做这样的事情:

<?php

$resultfile = 'result.dat';
if(!file_exists($resultfile)) {
$result = compute_result('foo bar');
file_put_contents($resultfile, serialize($result));
} else {
$result = unserialize(file_get_contents($resultfile));
}

使用 PHP 的 serialize() 尝试在

  • 您处于纯 PHP 环境中
  • $result 是一个复杂的数据类型,但您不想创建数据库结构并将 $result 映射到它

如果您不在纯 PHP 环境中,您可能更喜欢其他序列化格式,如 JSON 或 XML。

序列化结果也可以作为字符串存储在数据库中而不是文件中。将其保存到数据库而不是文件将使应用程序更具可扩展性,因为结果将可用于访问同一数据库(集群)的所有服务器。

简而言之:我建议使用数据库并结合序列化。

关于PHP:持久变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com