PHP是否在服务器上使用get变量打开文件?

PHP是否在服务器上使用get变量打开文件?,php,Php,好的,基本上,我有一个PHP脚本,它是一个MMORPG,所以我们很清楚 我希望能够做的不是在一个大脚本中编写包含完全相同数据的新的海量文件,以便能够为游戏创建更多的NPC方面,我希望能够使用预定义的get变量发送打开page.php的请求,即。,collect=Y或attack=Y等类似于真实玩家发送请求的方式,让系统打开文件,运行文件,并在关闭数据库之前对数据库进行任何查询 老实说,我对fopen的工作原理感到困惑,我读到的一些东西让我相信上述是可能的,而其他的则不然 如果有任何帮助,我将不胜

好的,基本上,我有一个PHP脚本,它是一个MMORPG,所以我们很清楚

我希望能够做的不是在一个大脚本中编写包含完全相同数据的新的海量文件,以便能够为游戏创建更多的NPC方面,我希望能够使用预定义的get变量发送打开page.php的请求,即。,collect=Y或attack=Y等类似于真实玩家发送请求的方式,让系统打开文件,运行文件,并在关闭数据库之前对数据库进行任何查询

老实说,我对fopen的工作原理感到困惑,我读到的一些东西让我相信上述是可能的,而其他的则不然


如果有任何帮助,我将不胜感激。

在这里,我将孤注一掷,尽力解决我理解的你的问题,而不是像你提出的那样回答你的问题

您的基本问题是,您将PHP文件视为完整的代码单元,从查询字符串输入,处理特定于该文件的内容,然后输出回用户。这违反了单一责任原则,因为这里至少有三个顶级责任:

处理用户输入并决定适当的操作 执行操作,包括数据库结构的操作 将操作结果反馈给用户 这些都可以分解为更小的任务——例如,连接到数据库的本质不应该出现在更抽象的操作中,因为更改敌人的移动方式以及将敌人存储在MongoDB文档而不是MySQL表中不需要更改相同的代码

因此,解决方案是采用结构化编程,这在现代PHP和许多其他语言中通常意味着采用面向对象编程。因此,在第一级组织中,您可能会:

一个类,用于查看查询字符串,检查它是否有意义,以及创建由它描述的操作的抽象列表。 表示某些操作(如攻击和收集)的类,这些操作从抽象列表中获取被攻击或收集的内容的详细信息,并返回一个不同的抽象列表,详细说明结果。 代表玩家和游戏中的敌人或对象的类,动作类可以使用这些类来计算不同情况下的结果。 用于获取操作结果并将其显示给用户的类。 现在,不要说我需要创建一个查询字符串,而是运行页面将运行的代码,然后获取输出并以某种方式使用它。您可以说我需要创建一个操作列表,运行适当的操作,并以某种方式使用结果列表


这听起来可能比强制PHP运行现有代码要复杂得多,但它为您提供的创建现有功能新组合的能力却不容低估。

file\u get\u contents'http://fullurl.to/file.php?collect=y&attack=y';我不完全清楚您想做什么,但是您是否已经将您的脚本制作成了一个可以调用的公共方法的类或对象?很少需要使用fopen。大多数情况下,您应该使用类似于file\u get\u contents和file\u put\u contents的内容。