| Clade Aliases
|
| Alias |
Clade
|
| Array* [i] |
[WFe]Sys\Data\Things\Array
|
| Base* [c,i] |
\InReq
|
| DbStuff* [i,t] |
Sys\dba\InReq\infmts\DbStuff
|
| FilePaths* [c] |
[WFe]Sys\Data\tplts\FileName\Config
|
| Kiosk* [e] |
Sys\dba\Kiosk
|
| InData* [t] |
Sys\dba\InRqData
|
| QObj* [c,i] |
[WFe]Data\Mem\QVar\Obj
|
| QStr* [i] |
[WFe]Data\Mem\QVar\Str
|
| Self* [i] |
Sys\dba\InReq
|
|
About
- Purpose: base class for DBA Action-classes
Each object encapsulates a given input (request) term. Podling-clades will implement actions and provide functions to access needed values from the input, which is encapsulated by a cInRqData object which can be retrieved from function OAUserInput().
To make use of additional user arguments (after the first), InputRq podlings (aka InReq podlings) can implement function ParseInputArgs(array $ar).
Doing Stuff
- To access input arguments, get an appropriate
cInRqData object:
$this->OAUserInput() returns the raw input value strings (split but not parsed), one element for each term in the user input
History
- 2024-10-30 started
- 2025-01-28 renamed Actor -> InReq
- 2025-02-02 added SchemaTrait
- 2025-09-21 moved all the
New*Request() functions to respective [WFe]Sys\Data\reqs\Engine\ActionRq\Admin\dbase\EngDb* traits
- ...or maybe in some cases [WFe]
Sys\Data\reqs\Engine\ActionRq\Admin\ToSchema\EngSc*; still sorting this out as of 2025-09-25.
- 2025-09-25 reparenting all
Do* clades to their respective [WFe]Sys\Data\reqs\Engine\ActionRq\Admin\ToSchema\EngSc* clades
- ...and moving most of the code into a trait
Code
interface iInReq extends BaseIface, DbStuffIface {
// OUTPUT
function ListHosts() : string;
}
trait tInReq {
use DbStuffTrait; // 2025-10-11 needed for QOFData()
use InDataTrait; // 2025-09-25 might create a conflict
// ++ OBJECTS: requests ++ //
protected function QOSchemaMeta() : QObjIface {
// check to see if we *can* get a Schema object
$of = FilePaths::Me()->ImportFoNode();
$oStat = $of->IndexIt();
echo $oStat->RenderMessages(); // any messages, error or otherwise
if ($oStat->GetOkay()) {
$sScSlug = $this->QSSchema()->GetIt();
$osSchNode = $of->FindSchema($sScSlug); // TODO: possibly this should go in aux\has\tSchema
} else {
$osSchNode = QObjClass::AsNew();
}
return $osSchNode;
}
// -- OBJECTS -- //
// ++ INPUTS: processing ++ //
// CEMENT
protected function ParseInputArgs(array $ar) {
$nXArgs = count($ar);
if ($nXArgs > 0) {
$this->AmHere('TODO 2025-10-04: interpret optional additional arguments');
}
}
protected function SaveAsEngConnName(string $s) {
$this->OAUserInput()->QDbConnSlug()->SetIt($s); // 2025-10-08 Does this work? (Fix it, if not.)
}
// ++ INPUTS: parsed/stored ++ //
protected function QDbConnSlug() : QStrIface {
return $this->OAUserInput()->QDbConnSlug();
}
protected function QSchemaSlug() : QStrIface {
return $this->OAUserInput()->QSchemaSlug();
}
// -- INPUT -- //
}