On Wed, 6 May 2020 at 22:48, Mike Schinkel <m...@newclarity.net> wrote:

> Now, consider the following two examples. On which line would PHP report
> the error?
>
> function foo() (
>
> public $foo,
>
> public $ bar
>
> ) {}
>
>
> vs.
>
> function foo {
> public $foo;
>   public $ bar;
> } {}
>
>

This feels like an implementation detail of the parser, rather than an
automatic consequence of the syntax, and the current parser seems to handle
it just fine.

<?php
function foo(
    $foo,
    $ bar
) {}
# unexpected '$', expecting variable... on line 4
# https://3v4l.org/AC9kh

The same is true of arrays: both syntax and run-time errors are reported
with correct line numbers, e.g. https://3v4l.org/fMp4t and
https://3v4l.org/BXO8q




> If you need help visualizing it I mocked up an example from actual
> function that is in product that was written by someone else before I
> joined the client's current team:
>
> https://gist.github.com/mikeschinkel/faaee3fc8ccc2371c7200f3d634289c4
>


Here's the single-declaration version of that with a syntax error on line
163: https://3v4l.org/mGq2f

I think you're solving a non-existent problem here.

Regards,
-- 
Rowan Tommins
[IMSoP]

Reply via email to