Инструменты пользователя

Инструменты сайта


eaze:sites.xml

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
eaze:sites.xml [2011/09/12 00:11]
sergeyfast
eaze:sites.xml [2012/12/13 22:20]
sergeyfast
Строка 88: Строка 88:
 </​sites>​ </​sites>​
 </​code>​ </​code>​
 +
 +===== Глобальный обработчик для неопределенного сайта =====
 +Иногда задача стоит таким образом,​ что без использования поддоменов не обойтись,​ например обработка <​username>​.mysite.ru
 +Если в теге <​hostname>​ будет стоят символ *, то возьмется именно он, если больше подходящих нет. ​
 +Помните,​ что * может использоваться только один раз и только в самом конце файла sites.xml.
 +
 +Рассмотрим пример обработки таких ситуаций:​
 +
 +<code xml> ​
 +<host name="​any">​
 +    <​hostname>​*</​hostname>​
 +    <​settings>​
 +        <​modules>​
 +            <​anySiteManager class="​AnySiteManager"​ />
 +        </​modules>​
 +    </​settings>​
 +</​host>​
 +</​code>​
 +
 +В модуле AnySiteManager можно переопределить текущее соединение с БД по умолчанию или, скажем,​ некоторые пути.
 +<code php>
 +<?php
 +    class AnySiteManager {
 +
 +        public static function Init( DOMNodeList $params ) {
 +            if ( ConnectionFactory::​Remove() ) {
 +                ConnectionFactory::​Add( array(
 +                    '​driver' ​  => '​MySql'​
 +                    , '​dbname'​ => '​default_connection'​
 +                ));
 +            }
 +
 +            Site::​$Paths['​daemons://'​] = '/​int/​mydaemons/​daemons';​
 +        }
 +    }
 +?>
 +</​code>​
 +
 +===== Поддержка поддоменов *.hostname =====
 +Работает аналогично глобальному обработчику для неопределенного сайта, только с поддержкой поддоменов.
 +
 +Можно использовать как: *.test.site.ru или *.site.ru, главное соблюдать последовательность в sites.xml.
 +
 +
eaze/sites.xml.txt · Последние изменения: 2012/12/13 22:20 — sergeyfast