我正在尝试在 PHP 中创建一个函数来计算所有用户使用函数的次数。
如果这个函数已经被使用了 30 次,那么它应该阻塞访问几分钟,然后将计数器重置为 0。
这在PHP中可能吗?
如果所有使用都发生在单个进程中,这不是问题,甚至是微不足道的。您只需使用全局或静态计数器变量并将其递增。只要进程正在运行,您就可以访问该值。
但是,我假设您正在谈论 Web 环境,并且 php 函数是 http 服务器执行的脚本的一部分?对不起,但你没有提到...
在那种情况下,事情会变得更加复杂,因为它不再是一个单一的过程。您需要某种持久存储。典型场景为此使用数据库、文件或共享内存。这些允许不同的进程访问共享的计数器值。
如果您仍然使用数据库,我会说最简单的方法是增加数据库表中的值。您还可以在同一步骤中存储时间戳。之后的下一个调用函数可以轻松读取(增加的)值。如果您没有数据库,您也可以使用文本/XML 文件。