php-compiler

Language construct capability matrix

Auto-generated by script/capability-syntax.php. Do not edit by hand.

User-defined classes, methods, visibility, instanceof, match, and arrow functions. Builtin functions are in capabilities.md.

Tracking issues: #58, #145, #138, #568 (link closed), #764 (execute), #143, #142, #199.

Construct VM JIT AOT Issue Notes
class / new yes yes yes #58 compliance PHPT; bootstrap AOT
Instance methods yes yes yes #58 compliance PHPT; bootstrap AOT
Private methods yes yes yes #145 compliance PHPT; bootstrap AOT
Property fetch $this->x yes yes yes #58 compliance PHPT; bootstrap AOT
Native user-class link (phpc build --project) yes yes yes #764 AOT link yes (#568 closed); native execute #764; compliance PHPT; bootstrap AOT
instanceof yes yes yes #138 compliance PHPT; bootstrap AOT
match expression no no no #143 bootstrap AOT
Arrow functions fn () => no no no #142  
ClassName::class / static::class yes yes yes #740 Compile-time class name string; related to CLASS (#199); compliance PHPT; bootstrap AOT
Magic constants __CLASS__, __METHOD__, __FUNCTION__ yes yes yes #199 Lowered at parse time via php-cfg MagicStringResolver; compliance PHPT
Magic constant __NAMESPACE__ yes yes yes #199 Requires namespace declaration (#84); compliance PHPT
Magic constants __DIR__, __FILE__ yes yes yes #707 VM script stack on include; JIT uses per-unit script path; compliance PHPT; bootstrap AOT
Magic constant __LINE__ yes yes yes #715 Per-site line on TYPE_SCRIPT_MAGIC; include stack for multi-file units; compliance PHPT

Syntax AOT column reflects Runtime::MODE_AOT compile probes unless a row pins AOT (e.g. native user-class link).

Web north-star (examples/003-MiniWebApp)

PATH_INFO routing, deploy-root includes, and CGI drivers for the reference web app. ROADMAP Phase 3/4: #78, runtime tracker #539. Builtin matrix: capabilities.md.

Construct VM JIT AOT Issue Notes
PATH_INFO / ?route= fallback yes partial partial #489 #489 VM closed; AOT lint partial; execute #764
phpc_deploy_path() + PHPC_DEPLOY_ROOT yes partial partial #585 #585 closed; deploy includes #623; execute #764
Runtime template include from deploy tree yes no partial #623 #623 VM/AOT lint; execute #764
CGI/1.1 driver (bin/cgi.php) yes n/a n/a #50 #50 VM closed; #656 CgiDriverTest; #666 MiniWebApp PATH_INFO
AOT CGI (cgi-wrapper + phpc cgi) n/a n/a partial #665 #665 closed; 001 green; 003 execute #764; #682
FastCGI loop no no no #173  

Web rows are curated from ROADMAP issue state; native link #568 closed; AOT execute tracked in #764 and #676.