Can I answer both?? 🙂
Keeping in mind that I am both anal and retentive, I have a system that divides up a program according to the major functions or types of information, uses includes for common page pieces, uses a switch statement to determine what's being asked for, and then calls functions to do the actual work.
For instance, all user accounts would work off of the user.php page, while all information entering pages (as with an e-commerce site that wants to add new products or vendors) would work off of the info.php page. Each of these pages, since they are a part of the same site, should have certain things in common, namely header information and basic site structure. Anything that is common amongst them I set aside into two files, the first known as header.htm and the second as footer.htm. These files are included at the top of each page using include().
Within the pages themselves, switch statements check to see what sort of activity needs to be performed (ie add, edit, or delete). It gets this information from a variable passed from the previous page (which may be itself; by page, I mean what the user sees, not the physical php file). Each case has a function call and passes any apropriate information with it.
The functions are kept within a class.htm file that contains the class I'm working with (ie a cart class). The pages then include the appropriate class.htm file that satisfies their job. For instance, a page that views my inbox would use the webmail.htm file that contains the class webmail and all the functions for reading my mail.
I guess my point is that while I want to keep everything in as few pages as possible, I always want to make sure that everything's divided up into logical groups. Having one page that does everything for you, even if you use includes that grab other classes or functions to do things with, means that going back later, I have no idea where to start to try and find a piece of code.
-- Lee