Для использования продукта, достаточно загрузить ZIP архив продукта со страницы Downloads нашего сайта, распаковать его, и скопировать содержимое папки /PHP на ваш Web сервер. Данная папка представляет собой Web проект, который содержит все необходимые файлы и ресурсы для работы продукта, а также примеры по работе с вьювером и дизайнером.

 

Для установки продукта в уже существующий проект, достаточно из папки /PHP скопировать папку /vendor в корневую директорию проекта, либо воспользоваться менеджером зависимостей Composer, выполнив следующую консольную команду:

 

console

 

composer require stimulsoft/reports-php

 

 

 

Для работы дашбордов понадобится подключить следующий пакет:

 

console

 

composer require stimulsoft/dashboards-php

 

 

 

При работе с продуктом, в большинстве случаев достаточно использовать только PHP код, который обеспечивает работу всех основных возможностей. Для более детальной настройки продукта и использования всех возможностей, необходимо использовать JavaScript код.

 

Для использования компонентов в Web проекте, достаточно подключить автоматический загрузчик скриптов в начале PHP файла. После этого, можно использовать все доступные PHP классы и функции для работы с отчетами и дашбордами:

 

index.php

 

<?php

require_once 'vendor/autoload.php';

...

?>

 

 

 

Для работы с генератором отчетов, предназначен класс StiReport. При помощи данного класса можно загрузить шаблон либо документ отчета, выполнить построение и экспортирование, обрабатывать запросы и управлять событиями генератора отчетов. Например, требуется загрузить отчет из файла и выполнить его построение, после чего вывести сообщение в окне браузера:

 

index.php

 

<?php

require_once 'vendor/autoload.php';

 

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->onAfterRender = 'afterRender';

$report->process();

$report->loadFile('reports/SimpleList.mrt');

$report->render();

?>

 

<html>

<head>

<?php

$report->javascript->renderHtml();

?>

<script type="text/javascript">

function afterRender() {

alert('Done!');

}

</script>

</head>

<body>

<?php

$report->renderHtml();

?>

</body>

</html>

 

 

 

Полный код примера доступен на GitHub.

 

В этом примере последовательно выполняются следующие действия:

создается экземпляр объекта StiReport;
добавляются необходимые обработчики событий;
выполняется обработка текущего запроса;
выполняется загрузка шаблона отчета из файла SipmleList.mrt;
вызывается команда построения отчета;
в шаблоне HTML файла добавляется код JavaScript события и выполняется вывод необходимого JavaScript и HTML кода компонента.

 

Метод $report->process() выполняет обработку текущего запроса, и, в случае успеха, автоматически возвращает результат на сторону клиента. Более подробно про это рассказано в разделе Обработчик событий.

 

Метод $report->javascript->renderHtml() выполняет вывод кода для подключения необходимых скриптов компонента. Метод $report->renderHtml() выполняет вывод JavaScript и HTML кода самого компонента.

 

Наши продукты Stimulsoft Reports.PHP и Stimulsoft Dashboards.PHP не имеют нативного ядра генератора отчетов на PHP, построение и экспорт отчета выполняется при помощи JavaScript кода на стороне клиента, либо на стороне сервера с использованием платформы Node.js. Поэтому, при использовании PHP кода для работы с компонентами, необходимо вызвать один из специальных методов, который добавит на Web страницу соответствующий JavaScript код для выполнения всех необходимых действий, и HTML код визуальной части компонента.

 

Наименование

Описание

getHtml($mode = StiHtmlMode::HtmlScripts)

Возвращает JavaScript и HTML код, необходимый для работы компонента, со всеми необходимыми действиями над отчетом. Параметр $mode позволяет установить варианты возвращаемого кода:

StiHtmlMode::Scripts – только необходимый JavaScript код для вставки в блок <script></script> на HTML странице;
StiHtmlMode::HtmlScripts – необходимый JavaScript и HTML код, для вставки в HTML элемент на странице;
StiHtmlMode::HtmlPage – полностью подготовленная HTML страница.

 

Примечание: у элементов компонента, например объекта $report->javascript, метод getHtml() не принимает параметров, поскольку имеет только один вариант вывода кода.

renderHtml($elementId = null)

Выводит JavaScript и HTML код, необходимый для работы компонента, со всеми необходимыми действиями над отчетом. Параметр $elementId позволяет указать ID элемента HTML страницы, внутри которого будет выведен компонент. По умолчанию, вывод осуществляется в текущем месте страницы.

printHtml()

Выводит полностью подготовленную HTML страницу со всеми необходимыми скриптами для работы компонента. Текущий HTML шаблон страницы полностью игнорируется. Данный режим отлично подходит для полноэкранного просмотра либо редактирования отчета.

 

 

Таким образом, указанные выше методы позволяют отобразить компонент различными способами в зависимости от требований. Пример упрощённого отображения компонента без использования HTML шаблона страницы:

 

index.php

 

<?php

require_once 'vendor/autoload.php';

 

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->onAfterRender = "alert('Done!');";

$report->process();

$report->loadFile('reports/SimpleList.mrt');

$report->render();

$report->printHtml();

?>

 

 

Информация

 

При использовании платформы Node.js для построения отчета на стороне PHP сервера, указанные методы будут вызваны автоматически внутри обработчика, их явное использование не требуется.

 

 

 

Управление URL для загрузки JavaScript файлов генератора отчетов

По умолчанию все JavaScript файлы продукта загружаются по URL относительно расположения текущего PHP скрипта. В некоторых случаях это поведение требуется изменить, для этого предусмотрено несколько опций. Для использования абсолютного пути для загрузки всех скриптов продукта, необходимо установить опцию useRelativeUrls в значение false:

 

index.php

 

<?php

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->javascript->useRelativeUrls = false;

?>

 

 

 

Для корректировки относительного пути предусмотрена опция relativePath, для которой необходимо задать строковое значение, которое будет использовано при формировании URL адреса загрузки скриптов. При этом опция useRelativeUrls должна быть включена (использовано значение по умолчанию).

 

index.php

 

<?php

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->javascript->relativePath = '../../';

?>

 

 

 

По умолчанию скрипты загружаются как статические файлы. Для использования динамической загрузки скриптов при помощи PHP обработчика, необходимо установить опцию useStaticUrls в значение false:

 

index.php

 

<?php

use Stimulsoft\Report\StiReport;

 

$report = new StiReport();

$report->javascript->useStaticUrls = false;

?>

 

 

Информация

 

Компоненты вьювер отчетов и дизайнер отчетов также имеют свойство javascript, при помощи которого можно управлять настройкой скриптов указанным выше способом.

 

 

 

Различные варианты развертывания и оптимизации рассмотрены в разделе Уменьшение времени загрузки скриптов.