我开始学习一个月前的编程.我已经知道html和css了,我以为我应该学习PHP.我从教程和书籍中学到了很多东西,现在我正在制作基于MysqL的网站进行练习.
当我小时候,我总是常常玩像travian这样的基于浏览器的策略游戏.我在想这些网站是如何运作的.我没有遇到任何问题,直到我意识到在关闭浏览器后游戏确实有效.例如;您登录到您的帐户并开始构建并注销.但即使关闭浏览器,游戏也知道在“x”的时间内需要更新特定建筑的数据.
谁能告诉我这是如何运作的?是用PHP或MysqL或其他一些编程语言?即使你能告诉我在网上搜索什么,也足够了.
解决方法:
PHP是一种服务器端语言.每当有人访问服务器上的PHP程序时,无论谁是客户端,它都会运行.
所以,想象一个持有计数器的程序.它将其存储在数据库中.每次调用updatecounter.PHP时,计数器都会更新一次.
您浏览到updatecounter.PHP,它会告诉您计数器现在为34.
下次浏览updatecounter.PHP时,它会告诉您计数器为53.
它的数量比你预期的多了18倍.
这是因为在没有您干预的情况下运行updatecounter.PHP.它是由其他人经营的.
现在,如果您查看updatecounter.PHP,您可能会看到如下代码:
require_once("my_code.PHP);
$counterValue = increment_counter_value();
echo "New Counter Value = ".$counterValue;
请注意,程序的主要核心存储在与您调用的程序不同的程序中.
另外,请注意,您可以调用任何内容,而不是调用increment_counter_value.因此,每当有人浏览updatecounter.PHP,或者无论你的游戏将被调用,内部游戏机制都可以运行.例如,您可以使用每小时的统计管理例程,如果它在最后一小时内运行,则每次调用它都会检查,如果没有,它将执行所有统计.
现在,如果没有其他人在玩你的游戏呢?如果发生这种情况,那么每小时的统计管理就不会被调用,你的游戏世界就会死亡.所以你需要做的是创建另一个程序,其唯一的功能是运行你的统计数据.然后,您将在服务器上安排该程序以每小时的间隔运行.您可以使用称为CRON作业的方法执行此操作.如果你在Apache上,你可能会发现你的主机已经内置了这个工具.我不会详细介绍任务调度,因为如果不了解您的环境,就无法给出正确的答案.但基本上,您需要安排一个PHP程序在服务器上运行以执行每小时维护.
这是关于CRON工作的教程:
http://net.tutsplus.com/tutorials/other/scheduling-tasks-with-cron-jobs/
我自己没有用过它,但我对tutsplus上的其他东西没有任何问题所以你应该没问题.