What potential pitfalls should be considered when passing parameters to constructors in PHP classes?

When passing parameters to constructors in PHP classes, potential pitfalls to consider include ensuring the correct number and type of parameters are passed, handling default values for optional parameters, and avoiding passing too many parameters which could lead to a complex and error-prone constructor.

class Example {
    private $param1;
    private $param2;

    public function __construct($param1, $param2 = null) {
        $this->param1 = $param1;
        $this->param2 = $param2;
    }
}

// Usage
$example = new Example('value1', 'value2');