I think you may be putting the "cart before the horse."
I'd think the question you should be asking is: "What do I want to navigate?" vs. "How do I navigate it?".
I don't think I need to belabor the structure of a typical menuing system as we use them everyday.
For a simple answer to:
"on a large site, like an ecommerce....do you automatically generate the navigation......or do you just hardcode..."
On a large site it would be daunting; if not almost impossible, to reliably manage a dynamic menuing system. On small sites, one typically just hardcodes it.
You can look into a number of the CMS & Framework systems out there to see how they manage the menuing structure.
drupal.org, joomla.org, phpCake.org, framework.zend.com, codeigniter.com and others.
Code Igniter has some very good tutorials on their framework:
http://codeigniter.com/tutorials.
Also... Google...
This search garnered many possibilities right off the bat:
http://www.google.com/search?q=php+m...ient=firefox-a