我发现这有点难以解释,所以如果有任何不清楚的部分请告诉我。
我正在制作单人网络角色扮演游戏。
我有一些文件:
characters.php
:此类包含character
类及其方法(例如levelUp()
)
create1.php
:这是用户选择角色属性的页面,然后创建角色。
它包括这部分:
require 'characters.php';
$player = new Character($race);
$player->levelUp();
此处发生了什么:用户被带到create1.php
并进入他们的比赛,并且在用户的输入中创建了新的character
。
现在我们有$player
变量,其中包含所有字符信息,并存储在create1.php
文件中。
我打算在网页游戏的每一页中require
characters.php
。这意味着我必须将$player
导入characters.php
。
换句话说,我必须将$player
移动到将出现在所有游戏页面中的页面中,因为它包含用户的角色数据。
如何在<{1}}中character
创建characters.php
的新实例>>来实现 ?
答案 0 :(得分:2)
STT LCU就是这个。您正在尝试执行的操作的规范解决方案是使用数据库。查看在您的计算机上运行AMP堆栈并使用SQL数据库存储您的数据。通过SELECT
查询,根据需要从每个页面上的数据库中提取数据。
或者,假设一次只有一个用户和一个字符将访问它,您可以将字符数据保存到文本文件中,然后打开并将文本文件读回每个文件中的character
对象。你的PHP文件。对于您正在尝试做的事情,这可能没有什么学习曲线。
编辑可以使用PHP会话但是在浏览器关闭时或在24分钟的默认时间之后(包括其中的数据)将过期(我相信。)
答案 1 :(得分:1)
您可以使用数据库(在评论中建议使用STT LCU)或使用lazy init <{1}}
在 characters.php
中$_SESSION
其他文件
session_start();
function getCharacter() {
if(!isset($_SESSION["player"])) $_SESSION["player"] = new Character(...);
return $_SESSION["player"];
}