Вход Регистрация
Файл: wboard/docs/pages/structure.html
Строк: 158
<?php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
    <
head>
        <
link rel="stylesheet" href="../style.css" />
        <
title>WBoard DocumentationАрхитектура движка</title>
    </
head>
    <
body>
        <
div class="logo">
            <
a href="../index.html"><img src="../logo.png" alt="WBoard" /></a>
        </
div>
        <
div class="title_content">
            
Архитектура движка
        
</div>
        <
div class="container" id="up">
            <
div class="menu">
                <
h1>Навигация:</h1>
                <
div class="board_item"><a href="./install.html">Установка</a></div>
                <
div class="board_item"><span>Архитектура движка</span></div>
                <
div class="board_item"><a href="./examples.html">Написание модулей</a></div>
                <
div class="board_item"><a href="./styles.html">Создание стилей</a></div>
                <
div class="board_item"><a href="./changelog.html">Лог изменений</a></div>
            </
div>
            <
div class="content">
                <
div class="title">Описание директорий и файлов</div>
                <
h1>/files</h1>
                <
class="item">
                    /
boards Доски<br />
                    /
logs Логи исключений<br />
                    /
pages Статические страницы<br />
                    /
styles CSS стили и изображения к ним<br />
                </
p>
                <
h1>/system</h1>
                <
class="item">
                    /
classes Системные классы<br />
                    /
controller Контроллеры (модули)<br />
                    /
view Шаблоны оформления<br />
                    
conf.php Конфиг (MySQLРоутер)<br />
                    
lang.php Языковой файл
                
</p>
                <
div class="title">Роутинг</div>
                <
class="item">
                    
Движок имеет одну точку входаТ.евсе запросы за исключением существующих директорий и файлов <br />
                    
в директории сайта (кроме директория /systemперенаправляются на index.php<br />
                    
Все запросы перенаправленные на index.php и первый сегмент URI которых не является w_action обрабатывает контроллер board.php<br />
                    
располагающийся в директории /system/controller<br />
                    
Если URI пустбудет вызван контроллер по умолчанию. (Настраивается в config.php)<br />
                    
Сейчас это mainpage.php<br /><br />
                    
Примеры:<br />
                    
http://w-board.su/files/styles/wboard.css - запрос не будет перенаправлен.<br />
                    
http://w-board.su/ - запрос будет перенаправлен на index.php и загрузится контроллер установленный по умолчанию.<br />
                    
http://w-board.su/someboard - запрос будет перенаправлен на index.php и загрузится контроллер board.php<br />
                    
http://w-board.su/w_action/mainpage - увидим результат работы контроллера mainpage.php<br />
                
</p>
                <
div class="title">Описание системных классов</div>
                <
h1>module</h1>
                <
class="item">
                    
Главный класс системы.<br />
                    
Все контроллеры должны наследоваться от него.<br />
                    
Контроллер обязательно должен иметь публичный метод index.
                    <
br /><br />

                    <
strong>Описание публичных полей класса:</strong><br />
                    (
mysqli$db Объект для работы с базой данных<br />
                    (int) 
$ip IP адрес<br />
                    (int) 
$ip_via_proxy IP адрес за PROXY сервером<br />
                    (string) 
$user_agent Юзер агент<br />
                    (string) 
$http_host Хост<br />
                     (
Language$lng Обработчик языкового файла<br />
                    (
Template$tpl Обработчик шаблонов оформления<br />
                    (
Model$model Модель (содержит функции для работы с базой данных)<br />
                    (
Helper$helper Хэлпер (Содержит вспомагательные функции)<br />
                    (int) 
$is_root Является ли пользователь администратором<br />
                     (array) 
$settings Системные настройки<br />
                    (boolean) 
$display Включение/выключение вывода данных шаблонизатором<br />
                    (string) 
$path Путь к корневой директории скрипта<br /><br />

                    <
strong>Описание поля $settings (настройки системы):</strong><br />
                    
'meta' Мета теги<br />
                    &
#160;&#160;&#160;&#160;'keywords' - Keywords<br />
                    
&#160;&#160;&#160;&#160;'description' - Description<br />
                    
'title' Заголовок страницы по умолчанию<br />
                    
'password' Пароль root пользователя<br />
                    
'user' Пользовательские настройки по умолчанию<br />
                    &
#160;&#160;&#160;&#160;'style' - CSS стиль<br />
                    
&#160;&#160;&#160;&#160;'timeshift' - Сдвиг по времени<br />
                    
'captcha' Капчавключенавыключена;
                    <
br /><br />

                    <
strong>Методыкоторые могут использоваться в контроллерах:</strong><br />
                    (
void) public function redirect($uri '')<br />
                    
Осуществляет редирект по заданному URIДля редиректа на другой домен используйте стандартные средства PHP.<br />
                    (string) 
$uri URI<br /><br />
                    <
strong>Метод shutdown() вызывается автоматически при завершении работы скрипта.</strong>
                 </
p>
                <
h1>db</h1>
                <
class="item">
                    
Предназначен для работы с базой данных MySQL.<br />
                    
Наследуется от MySQLi<br />
                    
Для более подробной информации смотрите исходный код файла /system/classes/db.php<br />
                </
p>
                <
h1>helper</h1>
                <
class="item">
                    <
strong>(string) public function css_styles_list($error)</strong><br />
                    
Подготавливает к выводу список доступных стилей.<br />
                    
boolean $error Настройка вывода сообщения об ошибке.<br /><br />
                    <
strong>(boolean) public function css_exists($style)</strong><br />
                    
Проверяет файл стиля на существование<br />
                     
string $style Имя стиля<br /><br />

                    <
strong>(string) public function display_threads($threads)</strong><br />
                    
Подготавливает список тредов к выводу<br />
                     array 
$threads Список тредов<br /><br />

                    <
strong>(string) public function display_posts($board$tid$data)</strong><br />
                     
Подготавливает список постов к выводу<br />
                     
string $board Имя доски<br />
                     
int $tid ID треда<br />
                     array 
$data Список постов<br /><br />

                    <
strong>(string) public function display_time($time)</strong><br />
                    
Форматирует время с учетом сдвига<br />
                    
Возвращает строку вида <em>day.month.Year Hour:minutes:seconds</em><br />
                     
int $time Временная метка
                    
<br /><br />

                    <
strong>(boolean) public function delete_directory($dir)</strong><br />
                    
Удаляет директорию вместе со всем её содержимым<br />
                    
string $dir Путь к директорию<br /><br />

                    <
strong>(string) public function markup_message($string$board$thread)</strong><br />
                    
Разметка сообщения (BB кодыWakaba разметка)<br />
                    
string $string Текст сообщения<br />
                    
string $board Имя доски (для обработки ссылок)<br />
                    
int $thread ID треда (для обработки ссылок)<br /><br />

                    <
strong>(mixed) public function prepare_file($board$data)</strong><br />
                    
Подготовка изображения к загрузке<br />
                    
В случае невозможности определения ошибки возвращает NULL<br />
                    
Возвращает строку сообщения об ошибке в случае её возникновения<br />
                    
Возвращает массив с данными файла в случае удачи<br />
                    
Этот метод рекомендуется использовать вместе с методом save_file() приведенным ниже<br />
                    
string $board Имя доски<br />
                    array 
$data Данные файла полученные из массива $_FILES<br /><br />

                    <
strong>(mixed) public function save_file($board$file)</strong><br />
                    
Сохраняет подготовленный с помощью prepare_file() файл<br />
                    
Возвращает NULL в случае если методу был передан не массив.<br />
                    
Иначе возвращает массив с именем файла и именем превью:<br />
                    array(
'file' => $filename'preview' => $preview)<br />
                    
string $board Имя доски в которую будем сохранять файл<br />
                    array 
$file Данные файла
                    
<br /><br />
                </
p>
                <
h1>language</h1>
                <
class="item">
                    
Служит хранилищем фраз загруженных из языкового файла /system/lang.php
                
</p>
                <
h1>model</h1>
                <
class="item">
                    
Здесь располагаются функции для работы с базой данных.<br />
                    
Для более подробной информации смотрите исходный код файла /system/classes/db.php<br />
                </
p>
                <
h1>template</h1>
                <
class="item">
                    
Обработчик шаблонов оформления.<br />
                    
Загрузка шаблона осуществляется с помощью метода <strong>(string) load($file, array $data = array())</strong><br />
                    
где $file имя файла шаблона без расширения$data данные для шаблона.<br />
                    
Метод возвращает обработанный и готовый к выводу шаблонВ случае если шаблона не существуетвернет сообщение об ошибке.<br /><br />
                    
Для установки данных для вывода используется метод <strong>(void) public function set_output($data)</strong><br />
                    
где (string) $data Строка для вывода.
                </
p>
                <
div class="title">Краткое описание контроллеров</div>
                <
class="item">
                    <
strong>board</strong><br />
                    
Просмотр списка досоктредовпостинг сообщений.
                    <
br /><br />

                    <
strong>captcha</strong><br />
                    
Отображение капчи
                    
<br /><br />

                    <
strong>err</strong><br />
                    
Страницы ошибок (403404502)
                    <
br /><br />

                    <
strong>mainpage</strong><br />
                    
Главная страница (менюнавигациясписок последних постов)
                    <
br /><br />

                    <
strong>online</strong><br />
                    
Просмотр посетителей за последние сутки.
                    <
br /><br />

                    <
strong>pages</strong><br />
                    
Просмотр статических страниц и управление ими.
                    <
br /><br />

                    <
strong>panel</strong><br />
                    
Панель управления (Создание и редактирование доскиистория входов админанастройки и прочее)
                    <
br /><br />

                    <
strong>remove</strong><br />
                    
Удаление досокпостовтредов
                    
<br /><br />

                    <
strong>settings</strong><br />
                    
Пользовательские настройки
                
</p>
            </
div>
        </
div>
        <
div class="footer">
            <
div class="navigation">
                <
ul>
                    <
li><a href="./install.html">&lt;&lt;&#160;Установка</a></li>
                    
<li><a href="#up">Наверх</a></li>
                    <
li><a href="./examples.html">Написание модулей&#160;&gt;&gt;</a></li>
                
</ul>
            </
div>
            
Powered by <a href="http://w-board.su">WBoard</a> &copy;2013
        
</div>
    </
body>
</
html>
?>
Онлайн: 1
Реклама