AgentElevenFifths
AgentElevenFifths

Reputation: 185

PHP initializing a variable in function parameters

I've been looking through idiorm, which is used in a project that I'm working on and I keep seeing parameters be given a value. I'm somewhat familiar with this being done in python where you can set default values for parameters, not sure if that's what happening here though.

Example:

public static function for_table($table_name, $connection_name = self::DEFAULT_CONNECTION) {
            self::_setup_db($connection_name);
            return new self($table_name, array(), $connection_name);
        }

Upvotes: 0

Views: 1726

Answers (1)

Sam
Sam

Reputation: 20486

According to the PHP documentation on function arguments...

A function may define C++-style default values for scalar arguments as follows:

function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();           // Making a cup of cappuccino.
echo makecoffee(null);       // Making a cup of .
echo makecoffee("espresso"); // Making a cup of espresso.

PHP also allows the use of arrays and the special type NULL as default values, [...]

The default value must be a constant expression, not (for example) a variable, a class member or a function call.

Note that when using default arguments, any defaults should be on the right side of any non-default arguments; otherwise, things will not work as expected.

Upvotes: 2

Related Questions