Obsah stránky sa číta, prosím čakajte…
Tvorba webových stránok – Manuál k redakčnému systému Rheia 1.5, Roman Horváth, © 2021, powered by Rheia
» Na týchto stránkach momentálne aktívne pracujeme. «
RS Rheia má zabudované dostatočné množstvo funkcionalít na prevádzkovanie webových stránok, ale keď zabudované funkcionality nestačia, tak je možné použiť v zdrojovom texte výstup z účelovo naprogramovaného modulu.
Na naprogramovanie modulu je nevyhnutné mať aspoň základné poznatky z objektovo orientovaného programovania v jazyku PHP. Modul musí byť umiestnený v niektorom z priečinkov cesty určenej premennou include_path
jazyka PHP, napríklad v priečinku library
RS Rheia. (Pozri Konfigurácia webového servera.) Názov súboru s modulom sa musí zhodovať s názvom PHP triedy, ktorá určený modul implementuje. Trieda musí obsahovať definíciu metódy s názvom run
, ktorá prijíma jeden argument (typu pole) a poskytuje návratovú hodnotu vo forme textu, ktorý bude vložený do obsahu stránky.
Z uvedeného vyplýva, že PHP súbor modulu musí obsahovať nasledujúce povinné prvky:
<?php class «názov modulu» { function run($args) { return «návratová hodnota»; } } ?>
Použitie modulu v ľubovoľnom zdrojovom texte sa realizuje prostredníctvom klauzuly #Modul(…)
, pričom do zátvorky sa vkladá názov modulu, za ktorý je možné vložiť ľubovoľný počet argumentov oddelených čiarkami. Príklady:
#Modul(«názov modulu») #Modul(«názov modulu», «argument») #Modul(«názov modulu», «argument 1», «argument 2») …
Rheia sprostredkuje komunikáciu s modulom spustením metódy run
a posunutím prípadných argumentov zadaných v klauzule Modul
do jediného parametra metódy run
. Metóda prijme zoznam argumentov vo forme poľa. Na základe prijatých hodnôt môže upraviť svoje správanie. Výstup metódy run
je vložený na miesto výskytu klauzuly Modul
, pričom modul je spustený vždy v čase zobrazovania stránky návštevníkovi, čiže môže poskytovať aj údaje aktualizované podľa času a dátumu zobrazenia.
Príklad:
Nech súbor s názvom TestModule.php
obsahuje nasledujúci kód modulu:
<?php class TestModule { function run($args) { $return = ''; $return .= '<pre>test'."\r\n"; foreach ($args as $key => $val) $return .= $key.' : '.$val."\r\n"; $return .= '</pre>'; return $return; } } ?>
Jeho použitie v ľubovoľnom zdrojovom texte môže vyzerať napríklad takto:
#Modul(TestModule, A, B, C)
A výsledok uvedeného použitia bude takýto:
test 0 : A 1 : B 2 : C
Otázky a úlohy:
- Na čo slúžia moduly RS Rheia?
- Akým spôsobom sa dá modul RS Rheia použiť?
(T. j. akú má použitie modulu syntax v rámci zdrojového textu RS Rheia?) - Akým pravidlom sa riadi pomenovanie modulov RS Rheia?
(T. j. ako súvisia názvy tried implementujúcich moduly s názvami súborov, v ktorých sú tieto implementácie uložené?) - Aké povinné prvky musí obsahovať definícia modulu RS Rheia?