Да, конструктор вызывается при создании объекта.
Небольшой пример полезности конструктора это
class Bar
{
// The variable we will be using within our class
var $val;
// This function is called when someone does $foo = new Bar();
// But this constructor has also an $var within its definition,
// So you have to do $foo = new Bar("some data")
function __construct($var)
{
// Assign's the $var from the constructor to the $val variable
// we defined above
$this->val = $var
}
}
$foo = new Bar("baz");
echo $foo->val // baz
// You can also do this to see everything defined within the class
print_r($foo);
UPDATE:
Также был задан вопрос, почему это следует использовать, реальный пример - это класс базы данных, где вы вызываете объект с именем пользователя, паролем и таблицей для подключения, к которым будет подключаться конструктор. Затем у вас есть функции для выполнения всей работы в этой базе данных.