This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:dev:284:registry [12.08.2015 20:30] – [Anwendung von WbAdaptor] translated the first two paragraphs mrbaseman | en:dev:284:registry [26.09.2023 07:14] (current) – [Changed identifiers] Manuela v.d.Decken | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// | ||
| - | |||
| ====== The Registry (WbAdaptor) ====== | ====== The Registry (WbAdaptor) ====== | ||
| Programming without **global** constants and variables. | Programming without **global** constants and variables. | ||
| Line 10: | Line 8: | ||
| Global constants (as well as global variables), used within classes, break up their clear encapsulation and can prevent the reusability of the code. See ' | Global constants (as well as global variables), used within classes, break up their clear encapsulation and can prevent the reusability of the code. See ' | ||
| - | Global constants are, as has long been stated, from this version on deprecated, that is undesirable. See: [[en:dev: | + | Global constants are, as has long been stated, from this version on deprecated, that is undesirable. See: [[dev: |
| Of course, discarding all previous constants without any replacement is clearly not a feasible approach. That's simply impossible. At least in the first step, the class ' | Of course, discarding all previous constants without any replacement is clearly not a feasible approach. That's simply impossible. At least in the first step, the class ' | ||
| Line 29: | Line 27: | ||
| ^old constant | ^old constant | ||
| - | |{introduced} | + | |NEW |getDatabase() |
| - | |{introduced} | + | |NEW |getTranslate() |
| - | |{introduced} | + | |NEW |getApplication() |
| - | |{introduced} | + | |NEW |
| - | |{introduced} | + | |NEW |PageId |
| - | |{introduced} | + | |NEW |BlockId |
| + | |NEW |SectionId | ||
| |WB_URL | |WB_URL | ||
| - | |WB_REL | + | |WB_REL |
| |WB_PATH | |WB_PATH | ||
| |ADMIN_URL | |ADMIN_URL | ||
| Line 44: | Line 43: | ||
| |TEMPLATE | |TEMPLATE | ||
| |TEMPLATE_DIR | |TEMPLATE_DIR | ||
| - | |{introduced} | + | |NEW |TemplateUrl |
| - | |{introduced} | + | |NEW |TemplateRel |
| - | |{introduced} | + | |NEW |TemplatePath |
| |ADMIN_DIRECTORY | |ADMIN_DIRECTORY | ||
| |PAGES_DIRECTORY | |PAGES_DIRECTORY | ||
| Line 53: | Line 52: | ||
| |WB_REVISION | |WB_REVISION | ||
| |WB_SP | |WB_SP | ||
| - | |{introduced} | + | |NEW |AppName |
| |STRING_DIR_MODE | |STRING_DIR_MODE | ||
| |OCTAL_DIR_MODE | |OCTAL_DIR_MODE | ||
| Line 71: | Line 70: | ||
| __for all statements in common the following rules apply:__ | __for all statements in common the following rules apply:__ | ||
| - | * As PATH_SEPERATOR only the slash** / ** is allowed. Adjustments can be made easily with\\ <php> $sPath = str_replace(' | + | * As PATH_SEPERATOR only the slash** / ** is allowed. Adjustments can be made easily with\\ <code> $sPath = str_replace(' |
| * If the last element of a URL, Rel, Path-, or Dir-specified directory, the indication must terminate on a slash** / **.\\ | * If the last element of a URL, Rel, Path-, or Dir-specified directory, the indication must terminate on a slash** / **.\\ | ||
| - | * To ensure that a directory path is terminated with a single slash** / **the short sequence is sufficient\\ <php> $sPath = rtrim($sPath, | + | * To ensure that a directory path is terminated with a single slash** / **the short sequence is sufficient\\ <code> $sPath = rtrim($sPath, |
| - | * Leading slashes** / **are removed by\\ <php> $sPath = ltrim($sPath, | + | * Leading slashes** / **are removed by\\ <code> $sPath = ltrim($sPath, |
| OLD => NEW example: | OLD => NEW example: | ||
| Line 88: | Line 87: | ||
| ===== Application of WbAdaptor ===== | ===== Application of WbAdaptor ===== | ||
| - | This class can be reached from anywhere. It is sufficient to import that only existing active instance of the class with\\ <php> $oReg = WbAdaptor:: | + | This class can be reached from anywhere. It is sufficient to import that only existing active instance of the class with\\ <code> $oReg = \bin\WbAdaptor:: |
| But even better is the use of dependency injection, i.e. the transfer of the instance from outside to the function or class. | But even better is the use of dependency injection, i.e. the transfer of the instance from outside to the function or class. | ||
| :!: It is strongly recommended that the identifier // | :!: It is strongly recommended that the identifier // | ||
| - | Auch der Abruf der einzelnen Werte ist recht unproblematisch:\\ | + | Also the request of the individual values quite straightforward:\\ |
| - | <php> echo $oReg-> | + | <code> echo $oReg-> |
| - | Ausgabe: '' | + | Output: '' |
| + | |||
| + | What is not visible from the outside, the fact is that all retrievable values are stored in two basic groups: | ||
| + | * //System// -> these are all values that are **always** the same at constant, for basic settings constant for each script call. | ||
| + | * //Request// -> all other values, which can, depending on the page, users who request mode or other criteria have different values. | ||
| + | The system values are protected and can **not** be overridden by //Request// values or anything else. | ||
| - | Was nach außen nicht sichtbar ist, ist der Umstand dass alle abrufbaren Werte in zwei Basis-Gruppen abgelegt sind: | ||
| - | * // | ||
| - | * //Request// ⇒ alle anderen Werte, die je nach Seite, Benutzer, Requestmodus oder sonstigen Kriterien unterschiedliche Werte haben können. | ||
| - | Die // | ||