<?php

/*
 * Test file 1 and 2 mirror each other, with file 1 containing non-indented cross-version compatible heredoc/nowdoc syntax,
 * while the code samples in file 2 use PHP 7.3+ flexible heredoc/nowdoc syntax.
 *
 * These two files should be kept in sync!
 */

$nowdoc = <<<'EOD'
some text
EOD;

$heredoc = <<<END
some $foo text
END;

$heredoc = <<<"END"
some {$foo[0]} text
END;

$heredoc = <<<END
{$foo?->bar}
END;

$heredoc = <<<    "END"
some ${beers::softdrink}
END;

$heredoc = <<< END
{${$object->getName()}} text
END;

$heredoc = <<<"END"
some {${getName()}}
END;

$heredoc = <<<END
${substr('laruence', 0, 2)}
END;

$heredoc = <<<"END"
some {$foo['bar']->baz()()}
END;

$heredoc = <<<END
{$obj->values[3]->name} text
END;

$heredoc = <<<"END"
some ${$bar}
END;

$heredoc = <<<END
${foo->bar} text
END;

$heredoc = <<<"END"
${foo["${bar}"]} text
END;

$heredoc = <<<END
some ${foo["${bar[\'baz\']}"]}
END;

$heredoc = <<<"END"
${foo->{${'a'}}} text
END;

$heredoc = <<<END
some {$foo->{$baz[1]}}
END;

$heredoc = <<<END
some text
{${beers::$ale}}
some text
END;

$heredoc = <<<"END"
$people->john's wife greeted $people->robert.
END;

$heredoc = <<<END
Let's make sure it also works with this: {$arr[foo][3]}
END;

$heredoc = <<<END
Testing ${foo["${bar
  ['baz']
}"]} and more testing
END;

$heredoc = <<<"END"
Testing {${foo["${bar
  ['baz']
}"]}} and more testing
END;

$heredoc = <<<END
some text
END;

$heredoc = <<< "END"
some text
some \$text
some text
END;
