Problem
test/fixtures/aot/cases/isset_object_property_array.phpt already exists and is picked up by test/aot/AotTest.php (providePHPTestsFromDir on fixtures/aot/cases/).
It models Router::resolveAppName():
$cfg = $this->config;
if (isset($cfg['app_name'])) { return $cfg['app_name']; }
The full MiniWebApp native binary returns empty stdout (#764). This PHPT is the smallest typed-property + isset on array variable extracted from a method — it should pass before debugging layout includes (#832) or global contact fn (#831).
Goal
./script/ci-local.sh --filter isset_object_property_array runs AotTest for this case with:
- Link + execute exit 0
- stdout
MiniWebApp per --EXPECT--
Scope
Implementation hints
| Piece |
Notes |
| Fixture |
test/fixtures/aot/cases/isset_object_property_array/entry.php |
| Unit tests |
test/unit/ObjectPropertyArrayAotCompileTest.php — compile-only today |
| Compare |
array_property_return_string.phpt, #831 global fn path |
| Parent |
#764 |
Reproduce
./script/ci-local.sh --filter isset_object_property_array
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./script/ci-local.sh --filter isset_object_property_array
Acceptance criteria
Dependencies
Verification
Local/Docker only. No GitHub Actions.
Links
Problem
test/fixtures/aot/cases/isset_object_property_array.phptalready exists and is picked up bytest/aot/AotTest.php(providePHPTestsFromDironfixtures/aot/cases/).It models
Router::resolveAppName():The full MiniWebApp native binary returns empty stdout (#764). This PHPT is the smallest typed-property +
isseton array variable extracted from a method — it should pass before debugging layout includes (#832) or global contact fn (#831).Goal
./script/ci-local.sh --filter isset_object_property_arrayrunsAotTestfor this case with:MiniWebAppper--EXPECT--Scope
isseton local$cfgcopied from$this->configprivate array $config) — orthogonal declaration vs runtime fetchImplementation hints
test/fixtures/aot/cases/isset_object_property_array/entry.phptest/unit/ObjectPropertyArrayAotCompileTest.php— compile-only todayarray_property_return_string.phpt, #831 global fn pathReproduce
./script/ci-local.sh --filter isset_object_property_array docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \ ./script/ci-local.sh --filter isset_object_property_arrayAcceptance criteria
AotTest::testCasesforisset_object_property_array.phptpasses in full local CI when LLVM 9 presentDependencies
Verification
Local/Docker only. No GitHub Actions.
Links
examples/003-MiniWebApp/src/Router.phpresolveAppName()