koolreport / laravel
允许无缝地在Laravel中使用KoolReport
This package is auto-updated.
Last update: 2024-09-20 07:32:06 UTC
README
毫无疑问,Laravel 是世界上最受欢迎的PHP框架。它易于学习,快速且功能强大,适用于任何Web应用。
自从我们创建了KoolReport,我们收到了许多类似“如何在Laravel中使用KoolReport?”的问题。答案是KoolReport旨在与任何PHP框架协同工作,Laravel只是其中之一。使它们协同工作的设置很简单,但我们希望使事情变得更简单。
Laravel包 是一个附加扩展,使KoolReport能够在Laravel框架环境中无缝工作。通过添加包,使用KoolReport创建的报告将自动识别Laravel数据库。此外,KoolReport的小部件将配置资产路径和URL,这样所有内容都可以工作,无需您进行任何进一步的设置。只需一行代码即可实现。
use \koolreport\laravel\Friendship;
虽然Laravel是一个通用目的的PHP框架,但KoolReport只专注于报告、数据处理、图表和图形。KoolReport将使Laravel的报告功能达到极致。为了娱乐比较,Laravel与KoolReport就像索尔与心灵宝石一样,而这个包就像将它们连接起来的手套。Laravel是一个强大的框架,而KoolReport将使其变得更好。
要求
- KoolReport >= 2.75.0
- Laravel >= 4.2
安装
通过下载.zip文件
- 下载
- 解压缩zip文件
- 将文件夹
laravel
复制到koolreport
文件夹,使其看起来如下
koolreport ├── core ├── laravel
通过composer
composer require koolreport/laravel
文档
逐步教程
步骤 1: 创建报告并与Laravel建立友谊
- 首先,在Laravel的
app
文件夹内创建一个名为Reports
的文件夹 - 在Reports文件夹内,创建两个文件
MyReport.php
和MyReport.view.php
- 在报告中添加
use \koolreport\laravel\Friendship
,如下所示
MyReport.php
<?php
namespace App\Reports;
class MyReport extends \koolreport\KoolReport
{
use \koolreport\laravel\Friendship;
// By adding above statement, you have claim the friendship between two frameworks
// As a result, this report will be able to accessed all databases of Laravel
// There are no need to define the settings() function anymore
// while you can do so if you have other datasources rather than those
// defined in Laravel.
function setup()
{
// Let say, you have "sale_database" is defined in Laravel's database settings.
// Now you can use that database without any futher setitngs.
$this->src("sale_database")
->query("SELECT * FROM offices")
->pipe($this->dataStore("offices"));
}
}
MyReport.view.php
<?php
use \koolreport\widgets\koolphp\Table;
?>
<html>
<head>
<title>My Report</title>
</head>
<body>
<h1>It works</h1>
<?php
Table::create([
"dataSource"=>$this->dataStore("offices")
]);
?>
</body>
</html>
步骤 2: 运行报告并显示报告
现在您有了MyReport,为了在Laravel中显示报告,您将在控制器中创建MyReport对象,并将其传递给视图以进行渲染。
HomeController.php
<?php
namespace App\Http\Controllers;
use App\Reports\MyReport;
class HomeController extends Controller
{
public function __contruct()
{
$this->middleware("guest");
}
public function index()
{
$report = new MyReport;
$report->run();
return view("report",["report"=>$report]);
}
}
report.blade.php
<?php $report->render(); ?>
其他注意事项
自动生成的资产
Laravel包 将自动在Laravel的public
文件夹内创建一个名为koolreport_assets
的文件夹,以保存报告资源,如JavaScript文件或CSS文件。
除了Laravel的默认数据源以外的其他数据源
如果您有除了Laravel数据源以外的其他数据源,您可以在settings()
函数中自由添加它们。例如,在下面的示例代码中,我们将有另一个csv源
class MyReport extends \koolreport\KoolReport
{
use \koolreport\laravel\Friendship;
function settings()
{
return array(
"dataSources"=>array(
"csv_source"=>array(
"class"=>'\koolreport\datasources\CSVDataSource',
'filePath'=>dirname(__FILE__)."\mycsvdata.csv",
)
)
);
}
}
自定义资产文件夹
默认情况下,添加Friendship
将自动配置报告的资产路径和URL。但在某些情况下,如果您想设置自己的位置,您可以这样做
class MyReport extends \koolreport\KoolReport
{
function settings()
{
return array(
"assets"=>array(
"path"=>"../../public/resources/kool"
"url"=>"resources/kool"
)
);
}
}
该path
可以是报告到资产文件夹的相对路径或资产文件夹的绝对路径。
该url
是浏览器访问资产文件夹的URL。
支持
如果您需要支持,请使用我们的论坛,这样其他人也可以从中受益。如果支持请求需要隐私,您可以发送电子邮件到我们,地址为 support@koolreport.com。