The source of the file "../book/selfphp/chap06/gen_prime.php".
------------- SOURCE STARTS ----------------------

<?php


if(isset($_POST["maxNo"])){

  
$cnt 0;
  
$maxNo $_POST["maxNo"];
  foreach(
getPrimes() as $prime) {
    if (
$prime $maxNo) { die(); }
    print 
$prime',';
    
$cnt++;
    if((
$cnt 10)==0){ print "<br>";}
  }

}else{

  
$doc = <<< HEREDOC
<form action="gen_prime.php" method="POST">
  l
  <input type="text" name="maxNo" size="10" maxlength="10" />
  <input type="submit" value="submit" />
</form>
HEREDOC;
  echo 
mb_convert_encoding($doc"UTF-8""SJIS");
}

function 
getPrimes() {
  
$num 2;
  while(
true) {
    if (
isPrime($num)) { yield $num; }
    
$num++;
  }
}

function 
isPrime(int $value): bool {
  
$prime true;
  for (
$i 2$i <= floor(sqrt($value)); $i++) {
    if (
$value $i === 0) {
      
$prime false;
      break;
    }
  }
  return 
$prime;
}

-------------- SOURCE ENDS -----------------------