lucy24 - 4:13 pm on Jul 8, 2013 (gmt 0)
410 means the page is gone. If the URL resolves to a page that physically exists, it isn't a 410. The "gone" message has to be sent by the server before the request makes it to the page.
Theoretically a .php page (or other dynamic format) can send out a 410 just as easily as it can issue a 404 or a redirect. But generally you wouldn't bother unless you've removed a ### of a lot of pages in one fell swoop-- and they don't fit into a pattern your server can recognize, such as an entire directory.
The flip side in the case of html pages is that you don't have to do anything at all with the physical page file. The 410 message only gets sent out if you've explicitly coded it. The server never even looks for the page, so it neither knows nor cares if it's really there. Today's servers are not clever enough to say "this page was here yesterday and it's gone now, so I'll send out a 410 on my own initiative".