I think this is important to the understanding of the purpose of the constructor.

Even after reading the responses here it took me a few minutes to realise and here is the reason.

I have gotten into a habit of explicitly coding everything that is initiated or occurs. In other words this would be my cat class and how I would call it.

class_cat.php

class cat { function speak() { return "meow"; } }

somepage.php

include('class_cat.php'); mycat = new cat; $speak = cat->speak(); echo $speak;

Where in @Logan Serman's given "class cat" examples it is assumed that every time you create a new object of class "cat" you want the cat to "meow" rather than waiting for you to call the function to make it meow.

In this way my mind was thinking explicitly where the constructor method uses implicity and this made it hard to understand at first.