2026/06/04
Jump to navigation
Jump to search
|
Thursday, June 4, 2026 (#155)
|
|
Working on Ferreteria FileSys stuff in order to support sftp in FTM. Relevant pages:
20:33
Okay, we have another logic-puzzle 🙃.
- "
PathChain::$OLeafmust not be accessed before initialization inFerreteria/v0.6/clade/Sys/FileSys/Aspect/Ident/spex/PathChain.php:47"- ...but I don't understand why it isn't already initialized.
FileSys/Node.php(42) callsWildClass::FromUnknown($fs), which then:- ...creates an instance of itself (
$oThis) and calls$oThis->OIdent->OSpec->FromURL($fs)to create a non-Wild instance of itself... ahh, got it. I needed to call that one$oTempand then capture$oThisfrom the return-value of$oTemp->OIdent->OSpec->FromURL($fs).
- ...creates an instance of itself (
Next logic-puzzle:
- What I'm trying to do in
FromUnknown(string $fs)is create a newWildinstance and initialize it sufficiently to access->OIdent->OVenue->Exists. - ...and what's happening now is that
$oChain->OLeafisn't being initialized when$oChainis created byFromURL($fs). Why the hecks is this not happening.- Answer: Apparently because I renamed
SSpectoSURL(because it's more than just a filespec), but didn't remove all references toSSpec, including in the setup phase.
- Answer: Apparently because I renamed
Fixing that gets us a Wild Node-object, but $oWild->OIdent->OVenue->Exists still fails because creating OVenue calls NewProto() [1] which calls SpecFull() which needs to read $SURL which needs to read $OLeaf in order to call Leaf->SpecAbs().
Now, does this in fact make any sense...
Untangling side-note: maybe we need some less ambiguous terminology here. How about:
PSpecmeans "path spec", i.e. a path within a given deviceUSpecstands for "universal spec" (or "URL spec"), a path which can specify a device or protocol as well as the path within the target
Footnote
- ↑ ...which should be renamed
NewVenue(), but deal with that later.