Strict Standards: Declaration of action_plugin_importoldindex::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldindex/action.php on line 8

Strict Standards: Declaration of action_plugin_popularity::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/popularity/action.php on line 57

Strict Standards: Declaration of action_plugin_safefnrecode::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/safefnrecode/action.php on line 66

Strict Standards: Declaration of action_plugin_importoldchangelog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /var/www/html/lib/plugins/importoldchangelog/action.php on line 182

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/lib/plugins/importoldindex/action.php:8) in /var/www/html/inc/actions.php on line 180
 cor4:app:overview [Cor4 WIki]

Ezt a kis szösszenetet azért hoztam létre, hogy valamennyire átlássa mindenki, hogyan is működik a rendszer és ezzel talán kicsit könnyítsem a hibakeresést (itt főleg az indulás részre gondolok). Valamint ez egy teljes linkgyűjtemény, mivel minden lehetséges helyen hivatkozom a már megírt vagy megírandó oldalakra.

Működés

Indulás

0. lépés

A rendszer (némi inicializálás után) a parancssori paraméterek értelmezésével kezdi a működést. A paraméterek között vannak olyanok, amelyek a feladat elvégzése után azonnal ki is lépnek. A fel nem ismert paramétereket az ARGS tömbben helyezi el.

1. lépés

Amennyiben a paraméterek egyike sem olyan, hogy a rendszer megálljon, akkor az indulás a log fájl megnyitásával folytatódik (amennyiben paracssorból nem tiltottuk le a -nolog opcióval). Ekkor rögtön beírja a logba, hogy “Application starting…“ és az “Application version: 0.8.3.8 (css) (cmd) (png) (gif) (mysql) (postgres)“ (Bővebben)

Ezután a Cor4App.ini fájl olvasása következik, amiből a működés egyes paraméterei mellett megállapítja az alkalmazás gyökérkönyvtárát. A következő lépésben a PHP alrendszer inicializálása következik a következő sorrendben: a PHP parser indítása, függvények regisztrálása és végül a PHP operátorok regisztrálása. Még ebben a lépésben inicializálja a megjelenítő modult is a megfelelő komponensek (controls) regisztrálásával.

Amennyiben idáig hiba nélkül eljut a rendszer a DEBUG verzió egy a log-ba írt Base objects loaded successfully üzenettel tudatja ezt velünk, ellenkező esetben (minden verzió esetén) egy hibaablakot kapunk, a Hiba a rendszer inicializálása közben üzenettel. Ha nem képes írásra megnyitni a log-ot (mert például már fut egy példányban), akkor is ezt az üzenetet kapjuk!

2. lépés

A munkát a konstansok inicializálásával folytatja, amelyben először az előre definiált konstansokat (pl: billentyűkódok) definiálja. Ezután megpróbálja a Cor4App.ini fájlban meghatározott helyről felolvasni az appconfig.inc.php fájlt. Amennyiben nem létezik ez a fájl, akkor egy Nem sikerült beolvasni a konfigurációs file-t: ”filenév hibaüzenetet kapunk és a program azonnal terminál. Siker esetén a DEBUG verzió egy Constants loaded üzenetet küld.

Ezután néhány fontos belső konstans meghatározása (pl: téma könyvtár, temp könyvtár stb.) után olvassa be a listában használt négy pici ikont a DIR_IMAGES által meghatározott könyvtárból:

  • list_csv.gif: a CSV export ikonja
  • list_csv_filt.gif: a szűrt eredmény exportálásának ikonja
  • list_print.gif: a nyomtatás ikonja
  • list_print_filt.gif: a szűrt eredmény nyomtatásának ikonja

Megvizsgálja az INCLUDES konstans értékét, és amennyiben értéke nem üres vesszővel elválasztott listának tekinti és a felsorolt fájlokat (mint PHP fájlokat) végrehajtja. Célszerű ezekben csak függvényeket definiálni, mert a globális változók nem maradnak meg!

Végül amennyiben az APP_ICON konstans értéke nem üres, akkor az általa meghatározott fájl lesz az alkalmazás ikonja.

A lépés befejezéseképpen a DEBUG verzió a logba ír két üzenetet: Application theme directory is “data\themes\onlineweb” és Application temporary directory is “w:\app\source\tmp”, amelyek a téma könyvtár (relatív) címét illetve a temporary könyvtár teljes elérési útját tudatják velünk.

3. lépés

A CSS fordítású kliens ekkor olvassa fel a megfelelő template fájlt, amelyet (az előbb kiírt) téma könyvtár és a HTML_DEFAULT_TEMPLATE konstans összeolvasztásából nyer ki. A DEBUG kliens a felolvasás kezdetét egy Loading template… üzenettel jelzi, a befejezésre pedig egy Template loaded üzenet figyelmeztet.

Majd ezután értelmezi a langpack fájlt, amit a DIR_LANGPACK könyvtárban keres lang_xx.php néven, ahol az xx a CURRENT_LANG konstans értéke.

Ezzel a rendszer alap rendszerei inicializálva vannak és a szükséges konfigurációs fájlokat is felolvasta a rendszer.

A DEBUG verzió egy ablakot jelenít meg, rajta két gombbal: AppTest és ScanAndRun. Az AppTest indítja az alkalmazást úgy, mint ahogyan a NORMAL verzió indítaná. A ScanAndRun tesztelésre használható: az alkalmazás gyökerében található test.php alkalmazást futtatja le, mint egy handlert.

Az alkalmazás indítása úgy történik, hogy az APP_START_PROCESS konstans alapján megállapítja az induló process-t és annak felolvasásával elkezdődik az alkalmazás futtatása.


cor4/app/overview.txt · Last modified: 2021/01/05 11:39 (external edit)