Ааа __construct - это особый метод. Это способ PHP сказать, что это конструктор. Они украли это из Python, вероятно, там, где это магические методы.
Когда создается экземпляр класса, конструктор вызывается автоматически.
поэтому, если вы создадите объект myconnection = DatabaseConnection (), он автоматически вызовет:
$dsn = 'mysql://root:password@localhost/photos';
$this->_handle =& DB::Connect( $dsn, array() );
... код в конструкторе. Поэтому, когда вы позже вызовете get () (будьте осторожны, он статический), у него будет соединение.
Иногда я перемещаю этот код в другой метод, скажем, connect (), и вызываю его в конструкторе, чтобы я мог сделать это любым способом. Я думаю, что настоящая вещь, которая сбивает вас с толку - это «статический» метод get. Для этого не требуется вызывать полностью построенный объект.