Stars: 138
Forks: 32
Pull Requests: 5
Issues: 5
Watchers: 16
Last Updated: 2023-09-11 09:53:27
An Open Source PHP Reporting Framework that helps you to write perfect data reports or to construct awesome dashboards in PHP. Working great with all PHP versions from 5.6 to latest 8.0. Fully compatible with all kinds of MVC frameworks like Laravel, CodeIgniter, Symfony.
License: MIT License
Languages: PHP, JavaScript, CSS, Hack, HTML
If you use composer
, you can run following command to install the latest version
$ composer require koolreport/core
Please go to our Get Started page and following our guide to install.
koolreport/
├── core/
│ ├── src/
│ ├── tests/
│ └── autoload.php
Make two files SalesByCustomer.php
and SalesByCustomer.view.php
/
├── koolreport/
├── myreport/
│ ├── SalesByCustomer.php
│ ├── SalesByCustomer.view.php
│ └── index.php
<?php
// index.php: Just a bootstrap file
require_once "SalesByCustomer.php";
$salesByCustomer = new SalesByCustomer;
$salesByCustomer->run()->render();
<?php
require_once "../koolreport/core/autoload.php";
//Specify some data processes that will be used to process
use \koolreport\processes\Group;
use \koolreport\processes\Sort;
use \koolreport\processes\Limit;
//Define the class
class SalesByCustomer extends \koolreport\KoolReport
{
protected function settings()
{
//Define the "sales" data source which is the orders.csv
return array(
"dataSources"=>array(
"sales"=>array(
"class"=>'\koolreport\datasources\CSVDataSource',
"filePath"=>"orders.csv",
),
)
);
}
protected function setup()
{
//Select the data source then pipe data through various process
//until it reach the end which is the dataStore named "sales_by_customer".
$this->src('sales')
->pipe(new Group(array(
"by"=>"customerName",
"sum"=>"dollar_sales"
)))
->pipe(new Sort(array(
"dollar_sales"=>"desc"
)))
->pipe(new Limit(array(10)))
->pipe($this->dataStore('sales_by_customer'));
}
}
<?php
use \koolreport\widgets\koolphp\Table;
use \koolreport\widgets\google\BarChart;
?>
<div class="report-content">
<div class="text-center">
<h1>Sales By Customer</h1>
<p class="lead">This report shows top 10 sales by customer</p>
</div>
<?php
BarChart::create(array(
"dataStore"=>$this->dataStore('sales_by_customer'),
"width"=>"100%",
"height"=>"500px",
"columns"=>array(
"customerName"=>array(
"label"=>"Customer"
),
"dollar_sales"=>array(
"type"=>"number",
"label"=>"Amount",
"prefix"=>"$",
"emphasis"=>true
)
),
"options"=>array(
"title"=>"Sales By Customer",
)
));
?>
<?php
Table::create(array(
"dataStore"=>$this->dataStore('sales_by_customer'),
"columns"=>array(
"customerName"=>array(
"label"=>"Customer"
),
"dollar_sales"=>array(
"type"=>"number",
"label"=>"Amount",
"prefix"=>"$",
)
),
"cssClass"=>array(
"table"=>"table table-hover table-bordered"
)
));
?>
</div>
You may download the source code sale_report.zip. And the result of this report can be previewed in here.
.. and all examples.
The KoolReport is licensed under MIT License.
KoolReport Pro is the most advanced version of KoolReport. It includes latest KoolReport version plus all available advanced packages from KoolPHP Inc. It costs $199 for Developer License, $499 for Team License and $999 for Enterprise License. The licenses come with following benefits:
If you have further inquiry on this special version, please go to our forum or email us at [email protected]. We will get back to you in no time.
KoolReport is the sum of our many years experience in making reports for our customers. We hope that it will help you to create powerful report with less effort. We love KoolReport very much and want it to be alive. We hope that you do too.
Being alive means that the source code continues to evolve, more features are added, and everything is back with professional support.
Please consider your purchase of extended packages or subscription as your donation. In exchange, we would like to send you gifts which are extensions or support services. By this way, we together contribute to the existence of KoolReport.
"If you want to go fast, go alone. If you want to go far, go together" - African Proverb
We have learned above statement through years of software development. We choose open-source as software model for KoolReport because we understand that:
That's why we designed KoolReport to be simple and extensible. Simple to use and extensible for change. We would like to grow it to be a solid framework supported by market of packages providing various datasources, data processes, visualization widgets and report templates where users can find solution right away.
KoolReport wants to be foundation or ecosystem connecting people who need reporting solution and those who can provide it. All are invited to join us on market to provide excellent solutions. We believe people willing to pay for a good solution. And we are happy to share market and profit.
Vision are big, we take the first step. Join us!
Below are the things we are going to do: