Choose a safe default for a query value.

query-defaults Web handlers often read optional query data. Static lessons can model the query value with local scalar data instead of reading a real request.

Query Defaults

page
query_defaults.php
Replay: real traced execution (multi-file project)
<?php
$page = 1;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;

echo "page=" . $page . "\n";
echo "offset=" . $offset . "\n";
<?php
$page = 2;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;

echo "page=" . $page . "\n";
echo "offset=" . $offset . "\n";
<?php
$page = 5;
$pageSize = 10;
$offset = ($page - 1) * $pageSize;

echo "page=" . $page . "\n";
echo "offset=" . $offset . "\n";
  1. $page ← 1, $pageSize ← 10, $offset ← 0

    1<?php2$page→ 1 = 1; //@page=2, 53$pageSize→ 10 = 10;4$offset→ 0 = ($page1 - 1) * $pageSize10;56echo "page=" . $page1 . "\n";7echo "offset=" . $offset0 . "\n";
    outputpage=1
    offset=0
  1. $page ← 2, $pageSize ← 10, $offset ← 10

    1<?php2$page→ 2 = 2;3$pageSize→ 10 = 10;4$offset→ 10 = ($page2 - 1) * $pageSize10;56echo "page=" . $page2 . "\n";7echo "offset=" . $offset10 . "\n";
    outputpage=2
    offset=10
  1. $page ← 5, $pageSize ← 10, $offset ← 40

    1<?php2$page→ 5 = 5;3$pageSize→ 10 = 10;4$offset→ 40 = ($page5 - 1) * $pageSize10;56echo "page=" . $page5 . "\n";7echo "offset=" . $offset40 . "\n";
    outputpage=5
    offset=40