koolreport / codeigniter
允许在 CodeIgniter 中无缝使用 KoolReport
This package is auto-updated.
Last update: 2024-09-08 17:45:57 UTC
README
CodeIgniter 毫无疑问是最强大的 PHP 框架之一。它以小体积构建,简单且具有创建全功能 Web 应用的能力。
自从我们创建了 KoolReport,我们收到了很多问题,例如 "如何在 CodeIgniter 中使用 KoolReport?"。答案是 KoolReport 被设计成与任何 PHP 框架一起工作,而 CodeIgniter 就是其中之一。使它们一起工作的设置很简单,但我们想使事情更简单。
因此,我们创建了此 CodeIgniter 包,这是一个扩展,允许 KooLReport 在 CodeIgniter 环境中无缝运行,并为您的 CI 应用程序提供强大的报告功能。此包将帮助我们
- 在 Koolreport 创建的报告中访问 CodeIgniter 数据库
- 自动将报告资源发布到 CodeIniter 的资产文件夹
只需一行代码即可实现
use \koolreport\codeigniter\Friendship;
要求
- KoolReport >= 2.75.0
- CodeIgniter >= 3.0.0
安装
通过下载 .zip 文件
- 下载
- 解压 zip 文件
- 将
codeigniter
文件夹复制到koolreport
文件夹中,使其看起来如下所示
koolreport ├── core ├── codeigniter
通过 composer
composer require koolreport/codeigniter
文档
友谊
为了使报告能够访问 CodeIgniter 数据库,我们将在报告中与 CodeIgniter 建立友谊。
class MyReport extends \koolreport\KoolReport
{
use \koolreport\codeigniter\Friendship;// All you need to do is to claim this friendship
function setup()
{
//Now you can access database that you configured in codeigniter
$this->src("sale_database")
->query("select * from orders")
->pipe($this->dataStore("orders"));
}
}
如您从上述代码中看到,我们的 MyReport
现在可以通过简单的一行代码访问 CodeIgniter 的所有数据库资源。此外,MyReport 将自行配置,将其必需的资源发布到 CodeIgniter 的公共文件夹。一切正常!
添加其他数据源
在某些情况下,您可能还有其他数据源,您希望将其包含在报告中,您只需像在 KoolReport 中通常做的那样编写正常的 settings()
函数即可。
class MyReport extends \koolreport\KoolReport
{
use \koolreport\codeigniter\Friendship;
function settings()
{
return array(
"dataSources"=>array(
"csv_source"=>array(
"class"=>'\koolreport\datasources\CSVDataSource',
'filePath'=>dirname(__FILE__)."\mycsvdata.csv",
)
)
);
}
function setup()
{
//Now you can access database that you configured in codeigniter
$this->src("sale_database")
->query("select * from orders")
->pipe($this->dataStore("orders"));
$this->src("csv_source")
->pipe(...)
...
->pipe($this->dataStore("csv"));
}
}
如您从上述代码中看到,您既可以访问 CodeIgniter 的 sale_database
,也可以访问额外的 csv_source
。
自定义资产位置
默认情况下,与 CodeIgniter 建立友谊的报告将自动将其所有资源导出到默认位置,该位置为 {project_folder}/assets/koolreport_assets
。但在任何情况下,如果您不喜欢此设置或只想以不同的方式组织文件夹,您可以手动设置如下
class MyReport extends \koolreport\KoolReport
{
use \koolreport\codeigniter\Friendship;
function settings()
{
return array(
"assets"=>array(
"url"=>"myassets",
"path"=>"../myassets" // or "path"=>"/var/html/CIProject/myassets"
)
);
}
path
可以是从您的报告到资产文件夹的相对路径,也可以是绝对路径。
url
是可以通过浏览器访问的资产文件夹的 URL。
支持
如果您需要支持,请使用我们的论坛,这样其他人也可以从中受益。如果支持请求需要保密,您可以发送电子邮件至 support@koolreport.com。