Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » SQLite Data Studio » SQLite Data Studio: referenca API

SQLite Data Studio: referenca API

Nazaj: SQLite Data Studio


Kaj sme drug paket poklicati v SQLite Data Studiu: javne metode pomočnika z argumenti, vrnjenimi vrednostmi in vedenjem ob napaki.

[Live] Javne metode razreda helper_plugin_wksqliteds. Naložite ga z plugin_load('helper', 'wksqliteds').

execute()

public function execute($target, $routine, array $params = [])

Povzetek: izvede poimenovano rutino nad razrešeno povezavo in vrne rezultat po polju returns v manifestu. Celoten opis manifesta in parametrov: Rutine.

Parameter Vrsta Pomen
$target \PDO|objekt z getPdo()|string|null ciljna povezava: obstoječi \PDO ali objekt, ki ga posreduje z metodo getPdo(), ime povezave ali null (uporabi se default_connection).
$routine string „ime“ (privzeti nabor) ali „nabor:ime“; pripeta končnica .json se dopušča.
$params array ['ime' => vrednost, ...].

Vrnjena vrednost: po returns v manifestu (rows_affected/insert_id/rows/ row/scalar/none).

Vedenje ob napaki: vrže RoutineException pri neznani rutini, neveljavnem manifestu, manjkajočem cilju povezave brez nastavljenega default_connection ali pri napaki SQL v pogonu.

registerSet()

public function registerSet($name, $dir, array $opts = [])

Povzetek: programsko prijavi nabor rutin (namesto dogodka).

Parameter Vrsta Pomen
$name string ime nabora; rutine se nato naslavljajo kot ime:rutina.
$dir string osnovna mapa; mora obstajati.
$opts array rezervirano, trenutno se ne uporablja.

Vedenje ob napaki: RoutineException pri neveljavnem imenu ali manjkajoči mapi.

getConnection()

public function getConnection($name)

Povzetek: ime povezave razreši v \PDO, ki dovoljuje pisanje.

Vrnjena vrednost: \PDO. Vedenje ob napaki: RoutineException pri neznani povezavi ali povezavi, ki je ni mogoče odpreti.

getReadonlyConnection()

public function getReadonlyConnection($name)

Povzetek: kot getConnection(), vendar vrne ločen ročaj z zaščito pred pisanjem na ravni pogona (SQLite: PRAGMA query_only=ON). Za porabnike, ki želijo posnemati način samo za branje v studiu, ne da bi vplivali na običajni ročaj za pisanje, ki ga uporablja izvajalec rutin – oba ročaja iste povezave obstajata v isti zahtevi drug ob drugem.

testConnection()

public function testConnection($name)

Povzetek: preveri, ali je poimenovano povezavo dejansko mogoče odpreti.

Vrnjena vrednost: array{ok:bool,error:string,driver:string}.

phpAllowed()

public function phpAllowed()

Povzetek: ali vdelani PHP v datotekah rutin načeloma sme teči (možnost paketa allowPhp in globalni $conf['phpok'] – zgolj vrata v nastavitvah, neodvisno od konteksta klica). Dodatna, od konteksta odvisna vezava na superuporabnike za shranjevanje in izvajanje, ki ju sproži studio, ni del te metode – podrobnosti: Rutine → model groženj za vdelani PHP.

Vrnjena vrednost: bool.

connectionStore() / routineStore() / setRegistry() / connectionManager()

Tovarniške metode za notranje objekte hrambe in registra (connection\ConnectionStore / RoutineStore / RoutineSetRegistry / connection\ConnectionManager) – pomembne za porabnike, ki želijo v upravljanje poseči globlje, kot dopuščata execute() in registerSet() (na primer z lastnim skrbniškim vmesnikom). routineStore($set = 'default') sprejme ime nabora.

Dogodki

WKSQLITEDS_REGISTER_ROUTINE_SETS

Podatek Vrednost
Sproži se enkrat na zahtevo, ob prvem dostopu do infrastrukture rutin (execute()/registerSet()/routineStore()/setRegistry())
Podatki primerek RoutineSetRegistry ($event→data), klic $event→data→register($name, $dir, $opts = [])
Od preimenovanja paketa (14. 7. 2026)
$controller->register_hook('WKSQLITEDS_REGISTER_ROUTINE_SETS', 'BEFORE', $this, 'sets');
public function sets(\dokuwiki\Extension\Event $event) {
    $event->data->register('reports', __DIR__ . '/sql');
}
Nezdružljiva sprememba za kodo tretjih oseb: predhodni dogodek WVDSDWMSQLITE_REGISTER_ROUTINE_SETS je bil dobavljen kot časovno omejen prehodni most (oba dogodka sta se sprožala vzporedno), zdaj pa je odstranjen – zunanja kljuka, ki še posluša staro ime dogodka, se ne pokliče več in jo je treba preklopiti na WKSQLITEDS_REGISTER_ROUTINE_SETS.

Prijava storitve (wkcore)

API za rutine je objavljen tudi kot storitev sql.routines prek wkcore – programski porabniki (npr. wkblog) navadno kličejo prek storitve namesto z neposrednim plugin_load():

$svc = ServiceHub::fromDokuWiki()->service('sql.routines');
$svc?->execute($pdo, 'close_inspection', ['id' => 123, 'user' => 'wolfgang']);

Pot prek storitve je lasten, zaupanja vreden klicatelj – zanj velja ista semantika execute(), ne pa matrika zmožnosti studia (ta velja samo za spletni dostop prek skrbniškega vmesnika samega, glejte Pravice).

StepUpBridge

[Live] Povezava s pogodbo Identity Plugin Contract v1. Konstanta in tri javne, čisto statične metode – kliče jih zaslon, tuj klicatelj jih ne potrebuje:

Element Odgovori
StepUpBridge::STEPUP_ACT vrednost do=, ki jo zaseda most: wksqliteds_stepup
categoryForAction(string $action): ?string v katero kategorijo dodatnega preverjanja spada razdeljeno dejanje, ali null za dejanje, ki drugega dejavnika ne potrebuje
requirementFor(string $category): ?string zahteva kategorije ali null – neznano ime vrne null in ga je treba obravnavati kot zavrnitev, nikoli kot »brez zahteve«
scopeIdFor(string $category): string ID obsega s predpono lastnika, po katerem pogon pravilnikov išče

Tabela, ki dejanja preslika v kategorije, je zasebna konstanta in obstaja natanko enkrat: admin.php::handle() jo bere prek categoryForAction(), namesto da bi imel drugo kopijo. _test/StepUpBridgeTest.php obe preverja drugo proti drugi, v obe smeri.

Katere kategorije obstajajo in zakaj je katero dejanje v njih (in katero izrecno ni): Pravice → drugi dejavnik.

dbadmin\RowMenu

[Live] RowMenu::html($widgets, array $elements, string $label): string – celica mreže z dejanji za vrstico: meni s tremi pikami iz oblikovalskega sistema in skriti seznam, iz katerega bere njegov priročni meni, oba iz istega polja elementov.

Parameter Pomen
$widgets pomočnik wkfluentui_widgets ali null, če ga ni
$elements že izrisani in že kodirani kontrolniki – povezave, gumbi, celi obrazci
$label kaj ta vrstica je; postane dostopno ime menija

Tri lastnosti, po pomembnosti:

  • Meni s tremi pikami, nikoli vrstica gumbov. Stolpec z dejanji iz kontrolnikov raste z najdaljšo oznako, ne s podatki. Vse štiri mreže tega paketa (rutine, povezave, varnostne kopije, pregled tabel) so do 9. avgusta 2026 v vsaki vrstici prikazovale dva do štiri kontrolnike.
  • Skriti seznam nastane iz istega polja, zato je obljuba priročnega menija – vsak vnos je v isti vrstici že viden – resnična po zgradbi, ne po preverjanju.
  • Brez kompleta gradnikov stojijo elementi drug ob drugem. Dejanje, ki ga ni mogoče oblikovati, mora biti vseeno dosegljivo.

Prazno polje elementov vrne prazen niz, tako da vrstica brez ponudbe izriše prazno celico in ne praznega menija.

Sorodne teme

  • Rutine – shema manifesta, vrste parametrov, datoteke SQL
  • Povezave – shema zapisa povezave
  • wkcore – register storitev
  • Pravice – matrika zmožnosti in drugi dejavnik
sl/wiki/dwe/wksqliteds/api-reference.txt · Zadnja sprememba: uporabnika 0.0.0.0