Content Management Framework. Easy. Convenient. Free.
Навигация
Новости
Новая версия PHPC!
Очередной стабильный релиз с новыми возможностями.
12 декабря 2010 | Подробнее...
Документация!
Солидное пополнение.
28 октября 2010 | Подробнее...
Обновление документации
Онлайн-руководство начинает потихонечку обновляться.
15 октября 2010 | Подробнее...
Новая версия PHPC!
Вышла новая версия, 2.5.1, с набором полезных изменений.
12 октября 2010 | Подробнее...
DLTFM!
Отныне документация доступна и в формате для скачивания.
30 января 2010 | Подробнее...
Новая документация
Первые разделы Руководства уже на сайте.
20 января 2010 | Подробнее...
Онлайн-поддержка
Теперь вы можете задать свои вопросы через ICQ.
11 января 2010 | Подробнее...

Прочие методы

Далее перечислены методы класса Compiler, не попавшие в другие разделы.

processGlobalCache

void processGlobalCache ( void )

Инициализация глобальных настроек сайта (вызывается автоматически).

Метод создает глобальную переменную $settings, хранящую набор настроек сайта в виде ассоциативного массива. Данные хранятся в таблице settings, первая запись которой содержит значения всех настроек в сериализованном виде. Кроме того, если проект является многоязычным, метод также пополняет глобальный массив $language дополнительными локализованными сообщениями. Эти сообщения хранятся в таблице messages, первая запись которой содержит полный список дополнительных сообщений, также в сериализованном виде.

createLink

string createLink ( string page [, array params] )

Метод возвращает ссылку на страницу page, с учетом ее внешнего имени (если оно было указано в параметрах страницы) и списка параметров params. Если в списке представлений ссылок присутствует подходящее правило, ссылка будет сформирована в соответствии с этим правилом. Если подходящего правила нет − ссылка будет сформирована как обычно, по стандартным правилам формирования URL.

Пример:

// Предположим, у нас есть правило представления ссылок: gallery/$name/page$page
// Оно автоматически подставляет два параметра − name и page

// Вариант 1. Полное соответствие списка параметров правилу
// В этом случае метод генерирует красивую ссылку в соответствии с правилом
$params=array("name"=>"artistry","page"=>5);
$link=$compiler->createLink("gallery",$params);
echo $link; // Получится /gallery/artistry/page5

// Вариант 2. Присутствуют лишние параметры (print)
// В этом случае метод генерирует красивую ссылку в соответствии с правилом,
// а все лишние параметры дописываются в конец ссылки, как обычные URL-аргументы
$params=array("name"=>"artistry","page"=>5,"print"=>true);
$link=$compiler->createLink("gallery",$params);
echo $link; // Получится /gallery/artistry/page5?print=1

// Вариант 3. Некоторые параметры отсутствуют (page)
// В этом случае методу ничего не остается,
// кроме как сформировать ссылку стандартным способом
$params=array("name"=>"artistry","print"=>true);
$link=$compiler->createLink("gallery",$params);
echo $link; // Получится /gallery?name=artistry&print=1 

createLinkBack

string createLinkBack ( [string default] )

Метод возвращает ссылку "на предыдущую страницу", извлекая ее из значения переменной HTTP_REFERER. Если ссылка, переданная в этой переменной, имеет неверный формат, или ведет на другой сайт, или вообще не была указана − возвращается ссылка по умолчанию. В качестве ссылки по умолчанию выступает либо значение необязательного параметра default, либо, если этот параметр не был указан, ссылка на главную страницу сайта.

Пример:

$link=$compiler->createLinkBack();
echo $link; // Ссылка на страницу, с которой посетитель попал на текущую 

processTemplate

void processTemplate ( string name [, array scope] )

Метод выполняет шаблон с именем name, то есть превращает его в окончательный HTML-текст с учетом всех специальных тегов, использованных в шаблоне. В частности, в шаблон будут подставлены значения переменных, переданных необязательным параметром scope, выполнены все шаблонные условия и циклы, и так далее. После выполнения шаблона метод отправляет готовую страницу клиенту и завершает работу скрипта.

Если шаблон с таким именем отсутствует, или в нем нарушен синтаксис специальных тегов, компилятор генерирует фатальную ошибку и также завершает работу скрипта.

Данный метод не возвращает результата, поскольку шаблон, выполняясь, выводит текст собранной страницы функциями echo. Если вам нужно сохранить результат работы шаблона в переменной, не завершая работу скрипта − используйте метод captureTemplate.

Пример:

$scope=array(
  "username"=>"John Jackson",
  "email"=>"johnjackson@gmail.com",
  "activation"=>1234567890);
$compiler->processTemplate("userProfile",$scope);
// Эта строка никогда не будет выполнена
echo "Эники-Беники ели вареники";

captureTemplate

string captureTemplate ( string name [, array scope] )

Метод работает аналогично методу processTemplate, с тем лишь отличием, что он не завершает работу скрипта и не выводит ничего на экран, а возвращает готовый HTML-текст в качестве результата.

Если вы вызываете данный метод из панели управления, а не из фронтальной части сайта, по умолчанию компилятор выдает ошибку "Не найден подходящий стиль для отображения сайта". Это нормальное поведение, означающее, что компилятор не запускал процесс анализа исходного HTTP-запроса. Для панели управления эта процедура не требуется, но для сборки шаблона она обязательна, поэтому перед первым вызовом метода captureTemplate в скриптах панели управления необходимо вызвать метод prepare, как в примере.

Пример:

// Сборка текста почтового уведомления, с учетом параметров
// 1. Подготовка параметров (переменных), которые будут доступны в шаблоне
$scope=array(
  "username"=>"John Jackson",
  "email"=>"johnjackson@gmail.com",
  "activation"=>1234567890);
// 2. Подготовка компилятора (вызывать только в админке)
$compiler->prepare();
// 3. Собственно сборка шаблона emailNotification
$text=$compiler->captureTemplate("emailNotification",$scope);

standardError

void standardError ( string message )

Метод предназначен для вывода сообщения об ошибке, переданного параметром message. Для оформления сообщения используется одноименный шаблон standardError, если вам нужно изменить дизайн сообщения − отредактируйте этот шаблон в панели управления. После вывода сообщения скрипт немедленно завершает свою работу, то есть после вызова данного метода дальнейший PHP-код уже не будет выполнен.

Пример:

// Вывод сообщения об ошибке и завершение работы
$compiler->standardError("Вы указали неверный пароль.");
// Эта строка никогда не будет выполнена
echo "Эники-Беники ели вареники";

standardRedirect

void standardRedirect ( string message [, string link] )

Метод предназначен для вывода сообщения об успешной операции, с красивой переадресацией посетителя на новую страницу. Текст сообщения указывается параметром message, ссылка на новую страницу − необязательным параметром link. Если параметр link не указан, будет произведена переадресация на главную страницу сайта.

Для оформления сообщения используется одноименный шаблон standardRedirect, если вам нужно изменить дизайн сообщения − отредактируйте этот шаблон в панели управления. После вывода сообщения скрипт немедленно завершает свою работу, то есть после вызова данного метода дальнейший PHP-код уже не будет выполнен. Для "мягкой" переадресации посетителя используется метод HTML-редиректа, стандартным заголовком Meta=refresh. По умолчанию переадресация делается с задержкой в 1 секунду, это значение также хранится в шаблоне.

Пример:

// Вывод сообщения об успешном создании новой галереи
$message="Галерея добавлена! Сейчас вы будете переадресованы на нее.";
$link=$compiler->createLink("gallery",array("id"=>$galleryid));
$compiler->standardRedirect($message,$link);

// Вывод сообщения и редирект на главную страницу
$message="Поздравляем, вы успешно зарегистрировались.";
$compiler->standardRedirect($message);
Документация
Лучшие сайты на PHPC
Наши друзья
Другие интересные CMF
Помогите проекту!
WMZ: Z829076217306
WMR: R735042680488
Онлайн-поддержка
Техподдержка сайтов,
Разработка модулей
ICQ: 564226396