Следующая версия | Предыдущая версия |
wiki:devel:overview [2025/01/03 12:03] – создано vladpolskiy | wiki:devel:overview [2025/01/03 15:10] (текущий) – внешнее изменение 127.0.0.1 |
---|
| |
^ Filename ^ Code snippet ^ Description ^ | ^ Filename ^ Code snippet ^ Description ^ |
| [[xref>doku.php]] | '' if(!defined('DOKU_INC')) '' | Все начинается здесь с определения базового каталога кода. | | | :&13:[[wiki:xref:dokuwiki:doku.php|doku.php]] | '' if(!defined('DOKU_INC')) '' | Все начинается здесь с определения базового каталога кода. | |
| ::: | '' $ACT = $_REQUEST['do'] '' | next we Далее мы определяем, какое действие запрашивается, то есть [[devel:action_modes|режимы do]] | | | ::: | '' $ACT = $_REQUEST['do'] '' | Далее мы определяем, какое действие запрашивается, то есть [[wiki:devel:action_modes|режимы do]] | |
| ::: | '' require_once('init.php') '' | over to перейти к init.php, инициализировать ядро | | | ::: | '' require_once('init.php') '' | перейти к init.php, инициализировать ядро | |
| [[xref>inc/init.php]] | '' include('preload.php') '' | [[preload]] make it possible to override directories and configuration cascade | | | :&13:[[wiki:xref:dokuwiki:inc:init.php|init.php]] | '' include('preload.php') '' | предварительная загрузка [[wiki:devel:preload]] позволяет переопределять каталоги и каскад конфигураций | |
| ::: | '' if(!defined('DOKU_CONF') '' | create [[devel:environment]] defines for code location | | | ::: | '' if(!defined('DOKU_CONF') '' | создать среду [[wiki:devel:environment]] определяющую местоположение кода | |
| ::: | '' include(DOKU_INC. 'inc/config_cascade.php') '' | prepare and load the global [[configuration]] file(s) | | | ::: | '' include(DOKU_INC. 'inc/config_cascade.php') '' | подготовить и загрузить глобальный файл(ы) конфигурации [[wiki:devel:configuration]] | |
| ::: | '' global $lang; '' | load and prepare the [[devel:localization|language]] files using English for all missing entries | | | ::: | '' global $lang; '' | загрузите и подготовьте [[wiki:devel:localization|language]] файлы, используя английский язык для всех отсутствующих записей | |
| ::: | '' if(!defined('DOKU_REL') '' | create all [[devel:environment]] defines not already defined, which might be dependent of the [[:config]] settings | | | ::: | '' if(!defined('DOKU_REL') '' | создать все определения среды [[wiki:devel:environment]] которые еще не определены, что может зависеть от настроек конфигурации [[:config]] | |
| ::: | '' if(!headers_sent() && .. '' | init session and set cookie | | | ::: | '' if(!headers_sent() && .. '' | инициализация сеанса и установка cookie | |
| ::: | '' require_once (DOKU_INC.'inc/load.php') '' | [[autoloader|autoload]] all libraries | | | ::: | '' require_once (DOKU_INC.'inc/load.php') '' | [[wiki:devel:autoloader|autoload]] всех библиотек | |
| ::: | '' ... \\ auth_setup() \\ ... '' | initialize plugin controller, [[events|event handling]] system, authentication and exit after setting up mail | | | ::: | '' ... \\ auth_setup() \\ ... '' | инициализирует контроллер плагина, [[wiki:devel:events|event handling]] систему обработки событий , аутентификацию и выход после настройки почты | |
| [[xref>doku.php]] | '' $ID = getID() '' | back from init.php, sanitize and turn request into [[devel:environment|global variables]] | | | :&13:[[wiki:xref:dokuwiki:doku.php|doku.php]] | '' $ID = getID() '' | вернуться из init.php, очистить и превратить запрос в глобальные переменные [[wiki:devel:environment|global variables]] | |
| ::: | '' $INFO = pageinfo() '' | add page [[devel:metadata]] into a [[devel:environment|global variable]], this includes calling [[xref>auth_quickaclcheck()]] and [[xref>p_get_metadata()]]. The later causing a rendering of page metadata if it isn't cached. | | | ::: | '' $INFO = pageinfo() '' | добавить метаданные страницы [[wiki:devel:metadata]] в глобальную переменную [[wiki:devel:environment|global variable]], это включает вызов [[xref>auth_quickaclcheck()]] и [[xref>p_get_metadata()]]. Последний вызывает рендеринг метаданных страницы, если они не кэшированы. | |
| ::: | '' if(!$INFO['exists'] ... '' | send 404 for missing pages | | | ::: | '' if(!$INFO['exists'] ... '' | отправьте 404 для отсутствующих страниц | |
| ::: | '' trigger_event(DOKUWIKI_STARTED)'' | call [[action plugins]] subscribing the [[devel:event:dokuwiki_started|DOKUWIKI_STARTED]] event | | | ::: | '' trigger_event(DOKUWIKI_STARTED)'' | плагины вызова действий [[action plugins]], подписывающиеся на событие [[wiki:devel:event:dokuwiki_started|DOKUWIKI_STARTED]] | |
| [[xref>inc/actions.php]] | '' act_dispatch($ACT) '' | do the work depending on [[devel:action_modes|action]] | | | :&13:[[wiki:xref:dokuwiki:inc:actions.php|actions.php]] | '' act_dispatch($ACT) '' | выполнять работу в зависимости от действия [[wiki:devel:action_modes|action]] | |
| ::: | ''%%if ($evt->advise_before()) ...%%'' | allow plugins to override default behavior using [[devel:event:action_act_preprocess|ACTION_ACT_PREPROCESS]] event | | | ::: | ''%%if ($evt->advise_before()) ...%%'' | разрешить плагинам переопределять поведение по умолчанию с помощью события [[devel:event:action_act_preprocess|ACTION_ACT_PREPROCESS]] | |
| ::: | '' $ACT = act_clean($ACT) '' | sanitize and redirect [[config:disableactions|disabled actions]] into ''do=show'' | | | ::: | '' $ACT = act_clean($ACT) '' | дезинфицировать и перенаправлять отключенные [[config:disableactions|disabled actions]] действия ''do=show'' | |
| ::: | '' ... \\ $ACT = act_permcheck($ACT) \\ ... '' | call processing code for requested action(s) while checking needed ACL permissions. The $ACT might change during [[xref>act_dispatch()]]. | | | ::: | '' ... \\ $ACT = act_permcheck($ACT) \\ ... '' | вызовите код обработки для запрошенного действия(й) при проверке необходимых разрешений ACL . $ACT может измениться во время [[xref>act_dispatch()]]. | |
| ::: | '' global $INFO \\ global $conf '' | make global variables accessible to template code | | | ::: | '' global $INFO \\ global $conf '' | сделать глобальные переменные доступными для кода шаблона | |
| ::: | '' trigger_event(ACTION_HEADERS_SEND) '' | call [[action plugins]] subscribing the [[devel:event:action_headers_send|ACTION_HEADERS_SEND]] event | | | ::: | '' trigger_event(ACTION_HEADERS_SEND) '' | плагины действий [[action plugins]] вызова , подписывающиеся на событие [[wiki:devel:event:action_headers_send|ACTION_HEADERS_SEND]] | |
| ::: | '' include(template('main.php')) '' | over to the selected template main script | | | ::: | '' include(template('main.php')) '' | к выбранному шаблону основного скрипта | |
| [[xref>lib/tpl/dokuwiki/main.php]] | '' ... \\ tpl_metaheaders() \\ ... '' | the [[template]] main script consist of HTML design elements calling on php methods for content like metaheaders, buttons, breadcrumb navigation elements etc. all available in the [[xref>inc/template.php]] file | | | :&13:[[wiki:xref:dokuwiki:lib:tpl:dokuwiki:main.php|lib/tpl/dokuwiki/main.php]] | '' ... \\ tpl_metaheaders() \\ ... '' | Основной скрипт шаблона [[template]] состоит из элементов дизайна HTML , вызывающих методы PHP для такого контента, как метазаголовки, кнопки, элементы навигации и т. д. Все они доступны в файле [[xref>inc/template.php]] | |
| ::: | '' tpl_content() '' | here the actual wiki page is created | | | ::: | '' tpl_content() '' | здесь создается настоящая вики-страница | |
| [[xref>inc/template.php]] | ::: | ::: | | | :&13:[[wiki:xref:dokuwiki:inc:template.php|inc/template.php]] | ::: | ::: | |
| ::: | '' trigger_event(TPL_ACT_RENDER) '' | call to [[xref>tpl_content_core()]] using [[devel:event:tpl_act_render|TPL_ACT_RENDER]] event | | | ::: | '' trigger_event(TPL_ACT_RENDER) '' | вызов [[xref>tpl_content_core()]] с использованием события [[wiki:devel:event:tpl_act_render|TPL_ACT_RENDER]] | |
| ::: | '' switch($ACT) '' | select content based on action, the basic ''do=show'' calls [[xref>html_show()]] | | | ::: | '' switch($ACT) '' | выбор контента на основе действия, основные ''do=show'' вызовы [[xref>html_show()]] | |
| [[xref>inc/html.php]] | '' $html = p_wiki_xhtml(...) '' | which uses a [[devel:caching#two-stage-caching|cached XHTML]] version of the page __OR__ triggers the [[parser|renderer]] to render cached instructions as XHTML __OR__ use the [[parser]] to turn wiki text into instructions first. | | | :&13:[[wiki:xref:dokuwiki:inc:html.php|inc/html.php]] | '' $html = p_wiki_xhtml(...) '' | который использует [[wiki:devel:caching#two-stage-caching|cached XHTML]] кэшированную версию страницы __ИЛИ__ запускает [[parser|renderer]] для отображения кэшированных инструкций в виде XHTML __ИЛИ__ использует [[parser]] для предварительного преобразования текста вики в инструкции. | |
| [[xref>inc/template.php]] | '' trigger_event(TPL_CONTENT_DISPLAY) '' | back in [[xref>tpl_content()]] [[action plugins|action plugin's]] have a last chance to edit raw HTML before output by using [[devel:event:tpl_content_display|TPL_CONTENT_DISPLAY]] event | | | :&13:[[wiki:xref:dokuwiki:inc:template.php|inc/template.php]] | '' trigger_event(TPL_CONTENT_DISPLAY) '' | [[action plugins|у плагинов действия]] есть последний шанс отредактировать необработанный HTML перед выводом с помощью события [[devel:event:tpl_content_display|TPL_CONTENT_DISPLAY]] event | |
| [[xref>doku.php]] | '' trigger_event(DOKUWIKI_DONE) '' | finish by calling [[action plugins]] subscribing the [[devel:event:dokuwiki_done|DOKUWIKI_DONE]] event when the template main script has ended | | | :&13:[[wiki:xref:dokuwiki:doku.php|doku.php]] | '' trigger_event(DOKUWIKI_DONE) '' | завершить вызовом [[action plugins]] подписавшихся на событие [[wiki:devel:event:dokuwiki_done|DOKUWIKI_DONE]] когда основной скрипт шаблона завершен | |
| |
| |