I have a search class which puts all the common code in a parent and has childs to do everything else required to search a specific site area (forums, articles, news, calendar etc).
At present, all childs have a constructor which calls half-a-dozen-or-so parent/child functions to perform the search. An alternative would be to put all that in a function (external to the class definitions) which instantiates a child, runs parent constructor, etc in the required sequence.
Hope that makes sense.
Should constructors only be used to declare properties rather than call methods?