Я сталкиваюсь с некоторой путаницей в отношении методов или функций, с которыми я сталкивался, которые принимают параметры, а некоторые являются необязательными. После проверки объявления функции я не вижу никаких значений по умолчанию.
Например, я использую объект PDO.
$dbh = new PDO( $dsn,$username,$password,$option );
Выдержка из класса ПДО
class PDO {
/**
* (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)<br/>
* Creates a PDO instance representing a connection to a database
* @link http://php.net/manual/en/pdo.construct.php
*
* @param $dsn
* @param $username [optional]
* @param $passwd [optional]
* @param $options [optional]
*/
public function __construct( $dsn, $username, $passwd, $options ) {
}
}
На поверхности не вижу, как параметры были заданы как необязательные (кроме комментариев метода конструктора). Насколько я понимаю, параметры должны предоставляться всегда, если требуется, или если не должно быть установлено значение по умолчанию Я все еще на начальных этапах обучения программированию и был бы очень признателен, если бы кто-нибудь смог объяснить причину этого или то, что мне не хватает.
Большое спасибо за ваше время и помощь.