On Fri, Jul 4, 2025, 16:50 fennic log <fennic...@gmail.com> wrote: > This is basically an idea I have for PHP to support a main entry point. > Where regardless of execution, if you run a PHP file, in CLI or Web > request. > If the file that is executed contains a main function, that is > automatically executed by the engine after any procedural code. > > Any procedural code in the file, and included files are executed before > main(). I made this decision because there would be cases where developers > want to set up a global scope and variables. > The main entry function MUST be within the executed file, any included > files which contain a main function are treated as user functions. > > main function signature: `function main(): int;` main must return an int > exit code. > > Example > ```php > echo "Before main"; > function main(): int > { > echo "Executed in main"; > return 0; > } > echo "After main"; > return 1; // This is ignored as main() exists and its return value is the > exit code. > ``` > > Expected output: > Before main > After main > Executed in main > PHP returns code 0 > > *Open questions.* > > *1.* Should we add a declare(main_entry_point=true); for it to be opt-in > *2.* Should main() take arguments? > *3.* Should the main() be context aware? eg `main(array $argv, int > $argc)` for the CLI SAPI. I'm not sure what it would be for CGI SAPI. >
Why though? You are just saving seven keystrokes. main(); Besides, PHP already has main function so what you are proposing would be confusing.