New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

koolreport/blade

Allow KoolReport to use blade template engine to render view
83,575 1
Install
composer require koolreport/blade
Latest Version:1.0.2
Laravel:9 · 10 · 11
License:MIT
Last Updated:Sep 20, 2024
Links: GitHub  ·  Packagist
Maintainer: koolreport

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
  1. Download
  2. Unzip the zip file
  3. Copy the folder blade into koolreport 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!

Resources

  1. Full documentation
  2. Examples & Demonstration

Support

Please use our forum if you need support, by this way other people can benefit as well. If the support request need privacy, you may send email to us at support@koolreport.com.

Related Packages

valorin/random

Random is a simple helper package designed to make it easy to generate a range o...

413,065 233
php
cline/variable-keys

Laravel Blueprint macros for variable primary key and morph types

22,912 0
php
cline/struct

Lean, attribute-driven Laravel data objects with explicit validation and Eloquen...

17,788 0
php
cline/toggl

Advanced feature flag management with strategies, time bombs, and groups

12,171 0
php
cline/sequencer

Sequential migration and operation orchestration for Laravel

11,736 0
php

Version History

Version Released License
1.0.2 MIT
1.0.1 MIT
1.0.0 MIT