koolreport/codeigniter

允许在 CodeIgniter 中无缝使用 KoolReport

1.8.0 2019-06-03 08:10 UTC

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 应用程序提供强大的报告功能。此包将帮助我们

  1. 在 Koolreport 创建的报告中访问 CodeIgniter 数据库
  2. 自动将报告资源发布到 CodeIniter 的资产文件夹

只需一行代码即可实现

use \koolreport\codeigniter\Friendship;

要求

  1. KoolReport >= 2.75.0
  2. CodeIgniter >= 3.0.0

安装

通过下载 .zip 文件

  1. 下载
  2. 解压 zip 文件
  3. 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