Variable should be inside privateThey usually are but it is not a requirement.
Parameters in class methods cannot have the same names as class properties.It's mainly a big that the check only checks identifiers registered in the class so far, not in the future/checks against Parameters.