Req #80996 [Opn]: CLI Make '-B' compatible with '-r' and <file>
| From: | mdw_php dot net at de-weerd dot name | Date: | Tue, 27 Apr 2021 15:22:09 +0000 |
| Subject: | Req #80996 [Opn]: CLI Make '-B' compatible with '-r' and <file> | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-233594@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=80996&edit=1
ID: 80996
User updated by: mdw_php dot net at de-weerd dot name
Reported by: mdw_php dot net at de-weerd dot name
-Summary: CLI Make '-B' incompatible with '-r' and <file>
+Summary: CLI Make '-B' compatible with '-r' and <file>
Status: Open
Type: Feature/Change Request
Package: Unknown/Other Function
Operating System: Debian/Windows
PHP Version: 7.4.16
Block user comment: N
Private report: N
New Comment:
Corrected Summary.
Previous Comments:
------------------------------------------------------------------------
[2021-04-27 15:20:40] mdw_php dot net at de-weerd dot name
Description:
------------
Make '-B' and '-E' CLI options compatible with the '-r' and
'<file>' arguments.
Only '-R' and '-F' options should imply that the CLI expects input.
This is usefull to run some code settings before the main script to enable some options (-B
"define('DEBUG_CLASS','1')" for instance).
Test script:
---------------
Running
php -B 'echo 1;' -r 'echo 0;'
Returns
Either execute direct code, process stdin or use a file.
Running (with 'test.php' containing '<? echo 0;'
php -B 'echo 1;' test.php
Expects input were 'php test.php' does not .
On a side note,
echo | php -B 'echo 1;' -R 'echo 0;'
Expected result:
----------------
PHP runs the code specified in '-B' and '-E' would be run around any other code,
either specified through '-r', '-R', '<file>'.
Currently '-B' seems to imply that input should be parsed, but IMHO only '-R'
(and -F) should imply that.
To compare with perl:
perl -e 'BEGIN{print 1;} print 0;'
will print 10 and exit.
and
perl -e 'BEGIN{print 1;} print 0;' -p
will print 1 at the start and 0 for every input line.
The presence of "BEGIN" does not imply a loop.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80996&edit=1