There's a philosophical and a practical answer to that.
On the practical front, PHP doesn't have such a mature set of development tools and there's still a fair amount of work to do on encapsulating common architectural issues in some form of re-usable package - PEAR is getting there although there's still some lessons to learn in re-use (PEAR is closer to CPAN right now than a well integrated class library). PHP5 is also needed to make things like error handling more uniform.
On the philosophical front, there's a different school of thought coming from an eXtreme programming angle which argues that static, compile time type checks are merely a subset of unit testing and don't bring you much closer to a bug free application. Bruce Eckel makes the case in Strong Typing vs Strong Testing. For a PHP unit test framework (there's a few), try Simple Test.