It is important to understand that Hardhat Framework is set up to process three distinct types of transactions.
IMPORTANT! In case you missed it, when a Post transaction is executed it finishes by issuing a redirect to a Get tranaction. The cool thing about that is that it ensures that a Post transaction is never accidently reissued when the user presses the back button or refresh button.
See the following pages for a detailed explanation of each tranasction type, but the basic flow goes like this. First, the index.php module is invoked via .htaccess redirects.
The index.php module will locate the components (application, framework, and configuration), and then call the classloader, which sets up the autoload procedure to load classes when they are referenced. It is important that classes be named properly, and reside in the appropriate place for this to work.