2024/11/14/untangling setup calls

From Woozle Writes Code
Revision as of 14:31, 14 November 2024 by Woozle (talk | contribs)
Jump to navigation Jump to search

This is mainly notes to myself, trying to figure out why my code is complaining about there not being any input parameters before it has actually processed them...

First call to Setup():

| nArrIndex | sFileSpec                            | nFileLine | sCallClass                          | sCallType | sCallFunc   | aCallArgs | oCallObj |
|         3 | [F] /apps/futils/src/Kiosk/WUIDL.php |        89 | Woozalia\Ferret\Sys\Routing\caKiosk |    ->     | ShowStack   |
|         4 | [F] /apps/futils/src/App/WUIDL.php   |        22 | Woozalia\Futil\Kiosk\caWUIDL        |    ->     | Setup       |
|         5 | [F] /apps/futils/src/App.php         |        46 | Woozalia\Futil\App\cWUIDL           |    ->     | SetupIface  |
|         6 | [F] /src/App.php                     |        49 | Woozalia\Futil\caApp                |    ->     | EmitStartup |
|         7 | [F] /apps/futils/run/dba/go.php      |        39 | Woozalia\Ferret\caApp               |    ->     | Go          |
|         8 | [F] /apps/futils/boot/go.php         |        42 | Woozalia\Futil\DBA\cBoot            |    ->     | Go          |
|         9 | [F] /apps/futils/run/dba/go.php      |        44 | Woozalia\Futil\boot\caBoot          |    ->     | __construct |

Second call to Setup():

| nArrIndex | sFileSpec                            | nFileLine | sCallClass                               | sCallType | sCallFunc      | aCallArgs | oCallObj |
|         3 | [F] /apps/futils/src/Kiosk/WUIDL.php |        89 | Woozalia\Ferret\Sys\Routing\caKiosk      |    ->     | ShowStack      |
|         4 | [F] /src/Sys/Routing/Kiosk/Root.php  |        72 | Woozalia\Futil\Kiosk\caWUIDL             |    ->     | Setup          |
|         5 | [F] /src/App/Routed.php              |        23 | Woozalia\Ferret\Sys\Routing\Kiosk\caRoot |    ->     | Go             |
|         6 | [F] /src/App.php                     |        75 | Woozalia\Futil\caApp                     |    ->     | ReceiveRequest |
|         7 | [F] /apps/futils/run/dba/go.php      |        39 | Woozalia\Ferret\caApp                    |    ->     | Go             |
|         8 | [F] /apps/futils/boot/go.php         |        42 | Woozalia\Futil\DBA\cBoot                 |    ->     | Go             |
|         9 | [F] /apps/futils/run/dba/go.php      |        44 | Woozalia\Futil\boot\caBoot               |    ->     | __construct    |

(The two calls are separated by a couple of screenfulls of other diagnostic info I'm not ready to remove yet; I needed to see them next to each other.)

The key sequences seem to be:

  • [Fe:App->Go()] => [Fu:App->EmitStartup()] => [Fu:WUIDL App->SetupIface()] => [Fu:WUIDL Kiosk->Setup()]
  • [Fe:App->Go()] => [Fu:App->ReceiveRequest()] => [Fe:Root Kiosk->Go()] => [Fu:WUIDL Kiosk->Setup()]

"EmitStartup" seems like maybe a poor choice of words, or an inaccurate description. I think maybe the problem is that it doesn't match what actually needs to be done, which is "describe the app once it has fully started but before it does anything".