1

我不知道这是否可以使用 php 来完成,但如果可以的话,那对我来说会很棒,而且 php 非常强大,所以我认为这是可能的,我只是不知道怎么做。

我知道一个php文件是从上到下执行的,但我想知道是否有办法在某个时候停止执行,然后在以后恢复它,或者有没有办法到达它的某个部分然后从它之前的部分或类似的部分恢复?

我知道如何做到这一点,如果我只是将每个单独的代码块放在一个单独的 php 文件中,这样它将停止,因为它到达文件的末尾,如果发生某些事情,它将从另一个文件恢复,所以它几乎同样的事情,但我想制作一个行为像这样但包含在 1 个 php 文件中的 php 脚本。

我不需要代码示例,我只需要在正确的方向上点头,例如,一些函数名称或可能对实现此目的有用的东西。

4

1 回答 1

3

如果您尝试根据用户输入进行操作,您可能应该:

  1. 将您的程序构建为一个 Web 应用程序,这样用户输入的每一位都会产生一个对页面的新请求,其中包含输入应该执行的代码块,或者...
  2. 使用与 PHP 不同的语言。

假设您正在执行 #1,拥有一个特定的 GET 参数来指定您在交互中所处的“步骤”并不是那么难 - 例如,假设您有一个"A <user input> B or C <user input> D or E". 您可以有一个如下所示的 URL 方案:

/app/code.php - this runs the code block A
/app/code.php?step=B or /app/code.php?step=C - this runs either code block B or C
/app/code.php?step=D or /app/code.php?step=E - this runs either code block D or E

所服务页面上的链接/Javascript/任何内容允许选择接下来加载哪个页面。你的 PHP 文件看起来像这样:

if(!isset($_GET['step'])) {
    // code block A
} elseif($_GET['step'] == 'B') {
    // code block B
} elseif($_GET['step'] == 'C') {
    // code block C
} elseif($_GET['step'] == 'D') {
    // code block C
} elseif($_GET['step'] == 'E') {
    // code block C
} else {
    // error, invalid step specified
}

您也可以简单地将这些步骤拆分为不同的 PHP 文件。哪种方法最好可能取决于不同选项之间共享多少功能,以及有多少不同 - 如果共享很多,单个文件可能更容易;如果大多数不同,单独的文件可能更简单。

于 2011-09-12T04:35:59.690 回答