Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的类一旦被实例化会发生什么?_Php_Arrays_Oop_Class_Object - Fatal编程技术网

PHP中的类一旦被实例化会发生什么?

PHP中的类一旦被实例化会发生什么?,php,arrays,oop,class,object,Php,Arrays,Oop,Class,Object,我只是在玩一些PHP,想知道当在另一个PHP脚本中创建一个类中的对象时会发生什么 我想,一旦它被创建和处理,他们就无法从另一个脚本返回并“玩”它了 我的想法是,我正在尝试使用一个卡片类创建一副卡片,每张卡片都有特定的数据,这些数据被添加到每个单独的对象中,以使其具有唯一性、适合性、价值等。创建后,我需要能够返回到特定的卡片来使用它们。在java中,我有一个card对象的arraylist,我不知道如何在PHP中处理相同的区域 谢谢。那么您想创建服务器端编码的卡片名称吗?祝你好运 这样做是可能的,

我只是在玩一些PHP,想知道当在另一个PHP脚本中创建一个类中的对象时会发生什么

我想,一旦它被创建和处理,他们就无法从另一个脚本返回并“玩”它了

我的想法是,我正在尝试使用一个卡片类创建一副卡片,每张卡片都有特定的数据,这些数据被添加到每个单独的对象中,以使其具有唯一性、适合性、价值等。创建后,我需要能够返回到特定的卡片来使用它们。在java中,我有一个card对象的arraylist,我不知道如何在PHP中处理相同的区域


谢谢。

那么您想创建服务器端编码的卡片名称吗?祝你好运 这样做是可能的,但我认为像您所说的javascript这样的脚本更合适。 您可以创建一个函数,初始化一组卡片,使用索引等。将您的内容保存在cookie/会话中,并使用回发。在我看来,与jscript相比,这将是一个地狱般的工作


当你考虑这个问题时,你可以使用ajax让这个游戏让用户感觉更好:)。

那么你想创建一个服务器端编码的cardsgame?祝你好运 这样做是可能的,但我认为像您所说的javascript这样的脚本更合适。 您可以创建一个函数,初始化一组卡片,使用索引等。将您的内容保存在cookie/会话中,并使用回发。在我看来,与jscript相比,这将是一个地狱般的工作


但是当你考虑它的时候,你可以使用ajax让这个游戏对用户感觉更好:)。

在页面调用之间重用对象似乎是你的问题。也许您可以序列化对象并将其存储在数据库中,然后将其取回??检查php.net/serialize,让我们知道它是如何进行的。

在页面调用之间重用对象似乎是您的问题。也许您可以序列化对象并将其存储在数据库中,然后将其取回??检查php.net/serialize,让我们知道它是如何运行的。

要使对象对您可用,您可以做的是序列化对象并将其存储在数据库表中。如果您链接了一个游戏ID或类似于这些卡的东西,那么您可以稍后使用此游戏ID检索它们


我不知道你写的纸牌游戏是否是实时的,使用数据库可能会有太多开销。另一种可能是使用现有的缓存解决方案,例如Memcache。

要使对象对您可用,可以将对象序列化并存储在数据库表中。如果您链接了一个游戏ID或类似于这些卡的东西,那么您可以稍后使用此游戏ID检索它们


我不知道你写的纸牌游戏是否是实时的,使用数据库可能会有太多开销。另一种可能是使用现有的缓存解决方案,例如Memcache。

在php脚本中传递对象没有问题,您的问题是php是调用脚本的Web服务器本质上是“无状态的”。i、 e.每当有人从浏览器发布url时,就会启动一个全新的php程序副本

要在两次之间保存数据,有几个选项:- 一种是使用$\u会话变量,这些变量与用户会话关联,但$\u会话本身是一个数组,因此在这里保存复杂的结构会变得非常笨拙,而且,听起来您希望在用户之间共享甲板

您可以序列化对象并将其存储在一个文件中——只要它不经常更新就可以了——但如果每个用户都更新了它,它们就会开始覆盖彼此的更改

更好的方法是将数据包存储在数据库中(SQLITE通常内置在php中),以便多个用户可以以受控的方式共享和更新


另一个好的选择是使用一种流行的数据缓存,例如“memcached”,它将在对脚本的调用之间缓存数据。

在php脚本中传递对象没有问题,您的问题是php是调用脚本的Web服务器本质上是“无状态的”。i、 e.每当有人从浏览器发布url时,就会启动一个全新的php程序副本

要在两次之间保存数据,有几个选项:- 一种是使用$\u会话变量,这些变量与用户会话关联,但$\u会话本身是一个数组,因此在这里保存复杂的结构会变得非常笨拙,而且,听起来您希望在用户之间共享甲板

您可以序列化对象并将其存储在一个文件中——只要它不经常更新就可以了——但如果每个用户都更新了它,它们就会开始覆盖彼此的更改

更好的方法是将数据包存储在数据库中(SQLITE通常内置在php中),以便多个用户可以以受控的方式共享和更新


另一个好的选择是使用一种流行的数据缓存,如“memcached”,它将在调用脚本之间缓存数据。

Php脚本与Java服务器应用程序不同。 如果Java服务器将运行很长时间,那么php脚本将只是一次性的

而不是这种过程:用户向Java运行服务器发出请求,服务器在其无限循环中接收请求,服务器处理请求,服务器发送响应,服务器等待新请求;你有这样的事情:一个Web服务器(Apache,Nginx,任何其他Web服务器)接收用户的请求,理解它需要由php解释,启动一个php子级,这个子级执行脚本中的操作,发送其答案,死亡,服务器等待新的请求

因此,当一个php脚本结束时,它什么也没有留下(在好的情况下)

但是,php脚本可以在服务器上使用持久性存储,以便另一个请求可以从中读取。这就是为什么你有文件,数据库,甚至共享记忆功能

如果ga