Cisco states that you should not enable portfast on any port that is connected to another switch because it could make a physical loop.
What if I were to plug a non-managed cheap switch into an end user's drop to connect multiple computers? Couldn't I still leave portfast off because it is not going to create a physical loop? Wouldn't I need two connections between the two switches in order to create a loop? Or am I missing something?
What they are referring to is the way that spanning tree works. With normal spanning tree the ports go into a blocking phase while the infrastructure works out the tree and then only the appropriate forwarding ports are unblocked to create a loopless structure. This of course causes that annoying 30 sec delay before the switch finally enables a newly connected device. To eliminate the delay you can designate a port as portfast. This means that the port will go straight into the forwarding state while the tree is still being figured out because by designating it as a portfast port you are guaranteeing that it won't connect to anywhere that might cause a loop. Cisco interpret this as the port being connected to an end device as opposed to another switch. However you could connect it to an edge switch as you described with no possibility of causing a loop so you could apply portfast on that port with no problem
That's what I was thinking, but I wanted to make sure that I understood the concept. I know about the two 15 second timers for listening and learning phases, but wasn't completely sure about the switch addition.