Blade
Overview #
If you have used Laravel and fell in love with Blade
template engine then you may use this love template engine with KoolReport. Starting from version 4.0.0, KoolReport supports other template engines rather than just its own template view file.
So by using blade
template engine, you can utilize the power of template inheritance such as creating common layout for your report.
Blade does not restrict you from using plain PHP code in your views. In fact, all Blade views are compiled into plain PHP code and cached until they are modified, meaning Blade adds essentially zero overhead to your report.
Installation #
By downloading .zip file #
- Download
- Unzip the zip file
- Copy the folder
blade
intokoolreport
folder so that look like below
koolreport
├── core
├── blade
By composer #
composer require koolreport/blade
Get started #
Step 1: First you should create two folders, first is views
to hold the views of your reports, secondly is cache
folder for blade to generate cache file.
project/
├── reports/
│ └── MyReport.php
├── views/
│ └── myreport.blade.php
├── cache/
Step 2: Next, in your MyReport.php
you initiate blade template like this:
require_once "../../koolreport/core/autoload.php";
class MyReport extends \koolreport\KoolReport
{
use \koolreport\blade\Engine;
protected function bladeInit()
{
$viewsFolder = __DIR__."/../views";
$cacheFolder = __DIR__."/../cache";
$blade = new \Jenssegers\Blade\Blade($viewsFolder, $cacheFolder);
return $blade;
}
...
}
Step 3: Create report's view content. In your myreport.blade.php
you can do:
<html>
<head>
<title>MyReport</title>
</head>
<body>
<?php
\koolreport\widgets\koolphp\Table::create(array(
"dataSource"=>$report->dataStore("result"),
));
?>
</body>
</html>
Important Note: You need to use $report
variable to refer to the report class, not $this
as you do when use default Koolreport view file.
Step 4: To make the report run and render, you do:
//index.php
require_once "MyReport.php";
$report = new MyReport;
$report->run()->render("myreport"); // You need to specify the view you want to render
Now your report will run and then use myreport.blade.php
to render the view of report.
Congrat!
Get started with KoolReport
KoolReport will help you to construct good php data report by gathering your data from multiple sources, transforming them into valuable insights, and finally visualizing them in stunning charts and graphs.