webasyst alpha

  • Фреймворк
  • Приложения
  • Помощь
  • Блог
  • Скачать
  • Демо
  • Возможности
  • Лицензия
  • Документация Webasyst
    • Введение
    • Установка
    • Создание сайта
      • Пример: создание сайта
      • Сайты и маршрутизация
      • Шаблоны и темы оформления
      • Страницы и общие блоки
    • Разработка приложений
      • Пример: приложение «Гостевая книга»
      • Приложение-пустышка
      • Файловая структура
      • Конфигурационные файлы
      • Шаблоны
      • Интерфейс
      • База данных
      • Правила и рекомендации по именованию
      • Маршрутизация в бекенде
      • Маршрутизация во фронтенде
      • Экшены и контроллеры
      • Композитные макеты
      • Права доступа
      • AJAX
      • Переменные окружения
      • Сессии
      • Локализация
      • Мобильная версия
      • Работа с почтой
      • Работа с изображениями
      • Загрузка файлов на сервер
      • Журнал действий пользователя
      • Интеграция с приложением «Сайт»
      • Интеграция с приложением «Контакты»
      • Действия по расписанию
      • Адаптеры авторизации
      • Плагины
    • Настройки сервера
      • Nginx + FastCGI
      • Настройка Cron

Конфигурационные файлы

Все конфигурационные файлы фреймворка являются файлами PHP. Кроме редких исключений, конфигурационный файл представляет собой PHP-код возврата именованного массива параметров следующего вида:

<?php 

return array(
        'param_1' => 'value_1',
        'param_2' => 'value_2',
        ...
);

Конфигурационные файлы приложения

Все конфигурационные файлы приложения находятся в каталоге lib/config/ внутри каталога приложения. Смена расположения или названия файла не допускается.

Файл app.php

Файл app.php является главным конфигурационным файлом приложения. В нём задаются название приложения, путь к иконке приложения, номер версии, префикс таблиц приложения в базе данных, признак наличия мобильной версии приложения, признак наличия фронтенда и другие параметры.

Пример файла app.php приложения Контакты:

<?php

return array(
	'name' => 'Contacts',
	'img' => 'img/contacts.png',
	'rights' => true,
	'version' => '0.0.1',
	'system' => true,
);

Список некоторых возможных параметров в файле app.php:

  • name — название приложения, обязательный параметр. Название приложения представляет приложение в общем списке приложений, отображаемом в бекенде. При отображении на экране указанная строка будет использоваться механизмом gettext как ключ для перевода, поэтому для мультиязычных приложений рекомендуется здесь указывать английское название приложения.
  • img — путь к файлу иконки приложения от корня папки приложения. Иконка, как и название, представляет приложение в общем списке приложений, отображаемом в бекенде. Иконка приложения должна иметь размер 48x48 пикселей. Путь к файлу иконки является необязательным параметром. В случае, когда этот параметр не указан, применяется правило определения пути к файлу иконки по умолчанию: img/{APP_ID}.png.
  • icon — содержит массив путей к файлам иконок приложения различного размера. Прменяется вместо параметра img в тех случаях, когда иконки нескольких размеров представлены отдельными файлами. Иконки 24х24 и 16х16 используются при интеграции приложения с приложением Сайт. В случае отсутствия отдельных файлов иконок для уменьшенных вариантов используется стандартная иконка 48х48, которая ресайзится браузером.
    Пример:
    'icon' => array(
    		48 => 'img/site.png',
    		24 => 'img/site24.png',
    		16 => 'img/site16.png'
        ),
  • prefix — префикс названий таблиц приложения в базе данных. Необязательный параметр. Значение по умолчанию: {APP_ID}.
  • rights — флаг, обозначающий, используются ли в приложении расширенные права разграничения доступа. Необязательный параметр. Значение по умолчанию: false (подробнее о системе разграничения прав см. раздел «Права доступа»).
  • frontend — флаг, обозначающий, есть ли у приложения фронтенд. Необязательный параметр. Значение по умолчанию: false.
  • mobile — флаг, обозначающий, есть ли у приложения мобильная версия. Необязательный параметр. Значение по умолчанию: false.
  • system — флаг, обозначающий, является ли приложение общесистемным. Необязательный параметр. Значение по умолчанию: false.
  • version — номер версии приложения. Необязательный параметр.

Файл routing.php

Файл routing.php задает правила маршрутизации HTTP-запросов на фронтенд внутри приложения.

Пример файла routing.php приложения Блог:

<?php
return array(
	'post' => array(
		'url' => 'post/[i:id]/?',
		'module' => 'frontend',
		'action' => 'post',
	),
	'addComment' => array(
		'url' => 'comment/add/[i:id]',
		'module' => 'frontend',
		'action' => 'addComment',
	),
	'rss' => array(
		'url' => 'rss/?',
		'module' => 'frontend',
		'action' => 'rss'
	),
	'posts' => array(
		'url' => '',
		'module' => 'frontend',
	),
	'post_url' => array(
		'url' => '[s:url]/?',
		'module' => 'frontend',
		'action' => 'post'
	),
);

Подробнее о маршрутизации фронтенда см. раздел «Маршрутизация запросов на фронтенд».

Файл logs.php

Файл logs.php задает список действий пользователей приложения, записываемых в системный лог.

Пример файла logs.php приложения Стикеры:

<?php

return array(
	'board_add' => array(),
	'board_edit' => array(),
	'board_delete' => array(),
	'sticky_add' => array(),
	'sticky_edit' => array(),
	'sticky_move_to_board' => array(),
	'sticky_delete' => array(),
);

Подробнее см. раздел «Журнал действий пользователя».

Файл factories.php

В случаях когда для приложения требуется переопределение некоторых системных классов (например, когда в приложении используется альтернативный шаблонизатор, отличный от системного Smarty, или если в приложении бекенде реализован свой диспетчер запросов бекенда), то параметры переопределений задаются в файле factories.php.

Пример файла factories.php, переопределяющего для приложения параметры шаблонизатора Smarty (например, инструкция использования двойные фигурных скобок вместо одинарных):

<?php

return array(
	'view' => array('waSmarty3View', array(
		'left_delimiter' => '{{',
		'right_delimiter' => '}}',
	)),
);

Файл конфигурации расширенных прав доступа

Конфигурирование расширенных прав поисводится путем объявления класса, наследуемого от системного абстрактного класса waRightConfig. PHP-файл класса должен иметь имя вида {APP_ID}RightsConfig.class.php. Например, файл настройки детализированных прав в приложении guestbook — guestbookRightConfig.class.php:

<?php 

class guestbookRightConfig extends waRightConfig
{
  public function init()
  {
    $this->addItem('delete', 'Can delete posts', 'checkbox');
  }
}

Подробнее о настройке прав см. раздел «Права доступа».

Системные конфигурационные файлы

При разработке или установке приложения затрагиваются некоторые общесистемные конфигурационные файлы. Эти файлы находятся в каталоге wa-config/.

Файл apps.php

Файл apps.php содержит список установленных приложений и управляет «видимостью» этих приложений в бекенде.

Пример файла apps.php:

<?php

return array(
	'contacts' => true,
	'stickies' => true,
	'guestbook' => true,
	'installer' => true
);

APP_ID установленных приложений являются ключами именованного массива. Значение true для ключа является инструкцией системе отображать икноку и название приложения в бекенде фреймворка.

Файл routing.php

Общесистемный файл маршрутизации распределяет адресное пространство фронтенда между приложениями.

Пример системного файла routing.php:

<?php

return array(
    'default' => array(
		'blog' => array(                                                                                                                                     
			'url' => 'blog*',                                                                                                                                
			'app' => 'blog'                                                                                                                                  
		), 	
		'shop' => array(
			'url' => 'shop*',
			'app' => 'shop'
		),
		'guestbook' => array(
			'url' => 'guestbook/*',
			'app' => 'guestbook',
			'module' => 'frontend'
		),
		'default' => array(
			'url' => '*',
			'app' => 'site',
			'module' => 'frontend'
		)
    )
);

Подробнее о маршрутизации фронтенда см. раздел «Маршрутизация запросов на фронтенд».

Файл db.php

Файл db.php хранит настройки подключения к базе данных.

Пример файла db.php:

<?php

return array(
	'default' => array(
		'type' => 'mysql',
		'host' => 'localhost',
		'user' => 'wafw',
		'password' => 'super-parol',
		'database' => 'wafw'
	),
);

Файл config.php

Файл config.php хранит некоторые системные настройки.

Пример файла config.php:

<?php

return array(
	'debug' => true,
	'backend_url' => 'admin',
	'mod_rewrite' => true,
);

Список некоторых возможных параметров в файле config.php:

  • debug — допустимые значения: true / false. Включает / выключает отображение подробной информации об ошибках выполнения скриптов. Для разработки приложений рекомендуется установить этот параметр true.
  • backend_url — путь к бекенду от корня установки фреймворка. Значение по умолчанию: webasyst.
  • mod_rewrite — допустимые значения: true / false. Определяет, установлен ли на сервере mod_rewrite. Этот параметр определяется автоматически на этапе установки.
  • О компании
  • Фреймворк и WebAsyst.ru
    • Language
      • Русский
      • English

© 2011 Webasyst