Eine der wichtigsten Neuerungen der Version 2023.1 ist eine erhebliche Aktualisierung der Softwares Reports.PHP und Dashboards.PHP. Ausführlich darüber haben wir in diesem Artikel geschrieben. Beim Wechseln auf neue Version versuchten wir die Kompatibilität für schon geschriebenen Code zu speichern, aber für richtige Arbeit muss man einige geringfügige Änderungen vornehmen, über die wir heute erzählen.

Bereitstellung der Software

Für Verwendung der Software muss man ein ZIP-Archiv der Software aus der Downloads-Seite unserer Website, ihn entpacken und den Ordner /PHP auf Ihren Web-Server kopieren. Dieser Ordner ist ein Web-Projekt, das alle erforderlichen Dateien und Ressourcen für die Arbeit der Software, und auch die Beispiele der Arbeit mit Designer und Viewer enthält.

Für Installation der Software ins existierte Projekt muss man nur aus dem Ordner /PHP den Ordner /vendor ins Stammverzeichnis des Projektes kopieren oder den Abhängigkeitsmanager Composer durch folgenden Konsolenbefehl verwenden:

composer require stimulsoft/reports-php

oder

composer require stimulsoft/dashboards-php.

Derzeit können Sie folgende Ordner mit Ressourcen und Skripten vorheriger Versionen der Produkte im Stammverzeichnis: /localization, /css, /scripts, /stimulsoft löschen. Passen Sie auf! Wenn ausgewählte Ordner die Dateien Ihres Projektes enthalten, löschen Sie nur die Dateien, die mit unseren Produkten verbunden sind.

Verbindung zu Produkt-Bibliotheken

Früher alle PHP-Bibliotheken des Produktes befanden sich im Ordner /stimulsoft, und für die Verbindung musste man eine Abhängigkeit für Hauptdatei der Produktes installieren:
<?php
	require_once 'stimulsoft/helper.php';
?>

In aktualisierter Software wurde der Ordner der Platzierung von Produkt-Skripten verändert, das ist erforderlich, um die Unterstützung für Abhängigkeitsmanager Composer zu realisieren. Derzeit befinden sich alle Dateien im Ordner /vendor im Stammverzeichnis des Projektes. Für automatische Verbindung von allen Abhängigkeiten muss man den Lader der PHP-Klassen verbinden, der alle Arbeit automatisch erfüllt:
<?php
	require_once 'vendor/autoload.php';
?>

Verbindung zu Skripten

Früher für die Verbindung zu den Skripten musste man die ganze Liste im Block <head> abhängig von erforderlichen Komponenten und Möglichkeiten hinzufügen:
<head>
	<script src="/scripts/stimulsoft.reports.js" type="text/javascript"></script>
	<script src="/scripts/stimulsoft.dashboards.js" type="text/javascript"></script>
	<script src="/scripts/stimulsoft.viewer.js" type="text/javascript"></script>
</head>

Die Arbeit von angegebener Verbindungsmethode der Skripte ist gespeichert, aber nach dem Laden vom Paket mit Composer muss man die Pfade zu allen Produkt-Skripten ändern:
<head>
	<script src="/vendor/stimulsoft/reports-php/scripts/stimulsoft.reports.js" type="text/javascript"></script>
	<script src="/vendor/stimulsoft/dashboards-php/scripts/stimulsoft.dashboards.js" type="text/javascript"></script>
	<script src="/vendor/stimulsoft/reports-php/scripts/stimulsoft.viewer.js" type="text/javascript"></script>
</head>

Ins aktualisierten Produkt wurde spezielle PHP-Klasse für mehr einfache Verteilung hinzugefügt, und wir empfehlen gerade diese Methode zu verwenden. Derzeit können Sie einige PHP-Codezeilen im Block <head> an die Stelle, wohin die Produkt-Skripte hinzugefügt wurden, platzieren:
<head>
	<?php
		$js = new \Stimulsoft\StiJavaScript(\Stimulsoft\StiComponentType::Viewer);
		$js->renderHtml();
	?>
</head>

Wenn es erforderlich ist, können Sie die Verteilung mit verfügbaren Klassen-Optionen einstellen.

Initialisierung vom Ereignishandler

Um die Daten auf PHP-Server-Seite aus Ereignissen der Komponenten zu senden, gibt es ein spezieller Ereignishandler, der aus Client-JavaScript-Seite und Server-PHP-Seite besteht. Früher musste man für seine Initialisierung folgenden PHP-Code hinzufügen:
<?php
	StiHelper::init('handler.php', 30);
?>

Dieser Code wurde durch einen anderen ersetzt, um den anderen PHP-Klassen der aktualisierten Produkte zu entsprechen. Sie müssen nur anstatt altes Codes einen neuen hinzufügen, und alles Übriges wird ohne Änderungen funktionieren:
<?php
	$handler = new \Stimulsoft\StiHandler();
	$handler->renderHtml();
?>

Wenn es erforderlich ist, kann man den Pfad zur Datei des Ereignishandlers und Zeitlimit der Antwort vom Server mit verfügbaren Klassen-Optionen verändern.

Die Arbeit mit Komponenten

Der ganze früher geschriebene für die Arbeit mit Berichten und Komponenten fordert keine Änderungen, aber Sie können ihn optimieren und aktualisieren. Im aktualisierten Produkt wurde die PHP-Klassen für die Arbeit mit wichtigsten Möglichkeiten der Komponenten hinzugefügt, was die Arbeit wesentlich vereinfacht. Zum Beispiel, Sie können anstatt des JavaScript-Codes für die Arbeit mit Berichtsviewer folgenden PHP-Code verwenden:
<script type="text/javascript">
	<?php
		$options = new \Stimulsoft\Viewer\StiViewerOptions();
		$options->appearance->fullScreenMode = true;
		$options->appearance->scrollbarsMode = true;
 
		$viewer = new \Stimulsoft\Viewer\StiViewer($options);
 
		$report = new \Stimulsoft\Report\StiReport();
		$report->loadFile('reports/SimpleList.mrt');
		$viewer->report = $report;
 
		$viewer->renderHtml('viewerContent');
	?>
</script>

Die Arbeit mit Ereignissen

Alle Ereignisse, gleich wie die Komponenten, werden ohne Code-Veränderungen funktionieren. Im aktualisierten Produkt wurde die Arbeit mit Komponenten vereinfacht. Derzeit ist es für die Arbeit mit dem Ereignis auf der PHP-Serverseite ausreichend, anzugeben, dass das ausgewählte Ereignis verarbeitet werden muss. Zum Beispiel, um ein Ereignis für Abrufen von SQL-Daten hinzuzufügen, muss man eine Codezeile schreiben:
<script type="text/javascript">
	<?php
		$viewer = new \Stimulsoft\Viewer\StiViewer($options);
		$viewer->onBeginProcessData = true;
		$viewer->renderHtml('viewerContent');
	?>
</script>

Wenn es erforderlich ist, die Vorverarbeitung von Argumenten des Ereignisses auf der JavaScript-Clientseite zu verwirklichen, muss man den Namen der Funktion für das Ereignis angeben, alles Übriges wird automatisch erfüllt werden:
<script type="text/javascript">
	<?php
		$viewer = new \Stimulsoft\Viewer\StiViewer($options);
		$viewer->onBeginProcessData = 'onBeginProcessData';
		$viewer->renderHtml('viewerContent');
	?>
	
	function onBeginProcessData(args) {
	}
</script>

Exportieren vom Bericht

Früher musste man für Exportieren vom Bericht einen großen JavaScript-Codeblock schreiben. Zum Beispiel, für Export vom Bericht in PDF, musste man folgenden Code auf HTML-Seite hinzufügen:
var report = new Stimulsoft.Report.StiReport();
report.loadFile("reports/SimpleList.mrt");
report.renderAsync(function() {
	report.exportDocumentAsync(function (data) {
		Stimulsoft.System.StiObject.saveAs(data, "Report.pdf", "application/pdf");
	}, Stimulsoft.Report.StiExportFormat.Pdf);
});

Dieser Code ist noch voll funktionsfähig, aber jetzt können Sie dieselben Aktionen einfacher mit PHP-Code erfüllen:
<?php
	$report = new \Stimulsoft\Report\StiReport();
	$report->loadFile('reports/SimpleList.mrt');
	$report->render();
	$report->exportDocument(\Stimulsoft\StiExportFormat::Pdf);
	$report->renderHtml();
?>

Noch mehr Fähigkeiten

Bald wird unsere Dokumentation, verfügbar, und Sie können mehr ausführlich sowohl oben erwähnte Möglichkeiten, als auch andere Fähigkeiten des Produktes finden. Wir haben auch die Beispiele der Arbeit mit der Software aktualisiert, sie sind auf GitHub für Reports.PHP und Dashboards.PHP verfügbar. Derzeit bereiten wir aktualisierte Videostunden über die Arbeit mit Produkten, die bald auf unserem YouTube Kanal verfügbar werden.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.