Can I set up a default method argument with class property in PHP? -


i'm using php 5.2.6. want have default value argument in method, seems i'm getting bit clever.

the class property blnoverwrite defaulted , settable elsewhere in class. have method want have settable again, not override existing value. error when try this:

public function place( $path, $overwrite = $this->blnoverwrite ) { ... } 

must this?

public function place( $path, $overwrite = null ) {      if ( ! is_null($overwrite) ) {         $this->blnoverwrite = $overwrite;     }     ... } 

yes, have way. cannot use member value default argument value.

from php manual on function arguments: (emphasis mine)

a function may define c++-style default values scalar arguments. […] php allows use of arrays , special type null default values. […] the default value must constant expression, not (for example) variable, class member or function call. […] note when using default arguments, defaults should on right side of non-default arguments; otherwise, things not work expected.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -