Steven, Ryan, Adding new functions is also considered BC break because users might have those functions in their code. Over the years new functions were added to PHP core but mostly there were functions that saved in the userland code more than one line of code. Like array_first_key was accepted but array_first_value didn't.
And would you all stop with PHP_EOL? If my code will ever run on something different than Linux, I want it to be portable, not generate files differently. I think we should define PHP_EOL_N constant so people will use it more... Jokes aside, each case might need a different version of they println/say implementation. Maintaining it in core is probably not worth the effort as it could be more easily maintained in userland. You can use https://packagist.org/packages/print/ln in the meantime. Or publish you own and use it. Regards, Alex On Sun, Mar 3, 2019, 08:49 Joe Watkins <krak...@gmail.com> wrote: > Sara, where do I send pull requests? > > <?php > function println(string $format, ...$args) : void { > \vprintf($format . \PHP_EOL, $args); > } > > function fprintln($stream, string $format, ...$args) : void { > if (!\is_resource($stream)) { > throw new \TypeError(\sprintf( > "Argument 1 passed to %s expected to be a resource, %s given", > __FUNCTION__, > \is_object($stream) ? > \sprintf( > "instance of %s", \get_class($stream) > ) : \gettype($stream))); > } > > \vfprintf($stream, $format . \PHP_EOL, $args); > } > > function sprintln(string $format, ...$args) : string { > return \vsprintf($format . \PHP_EOL, $args); > } > > Jokes aside, this is so trivially achievable in userland that there is no > justification whatever for an internal function or functions, or > constructs, or opcodes. > > Cheers > Joe > > On Sun, 3 Mar 2019 at 06:50, Ryan Jentzsch <ryan.jentz...@gmail.com> > wrote: > > > I've always wondered why PHP didn't have a built in command or function > > that behaved as `echo` but with a EOL. > > I propose not to modify `print` or `echo` (as this was rightly pointed > out > > to cause b/c). How difficult would it be to add a new statement and/or > > function to the PHP core called `say` / `say()` that has an EOL? > > > > This seems to me to be simple to do. The benefit is less code to type in > > user land (ex: `say 'Hello World';` as opposed to `echo 'Hello World' . > > PHP_EOL;` > > >