在 codeigniter 3 中集成碳库

Integrate carbon library in codeigniter 3

我很难尝试将 grate DateTime 库 carbon 库与我在 codeigniter 3 中的项目集成 我试过这个

$this->load->library('carbon');

它给我一个错误

not existing class

我认为问题是命名空间,因为碳使用命名空间 carbon\carbon

提前致谢。

简单的步骤:

  1. 直接下载:https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php

  2. 将Carbon.php置于application/libraries

  3. 创建Mcarbon.php

    <?php
    
    if ( ! defined('BASEPATH')) exit('No direct script access allowed');
    require_once dirname(__FILE__) . '/Carbon.php';
    
    use Carbon\Carbon;
    
    class Mcarbon extends Carbon
    {}
    
  4. 将其放入您的控制器

    $this->load->library ( 'Mcarbon' ); 
    
  5. 在任何函数中调用 Carbon 方法。示例:

    <?php
    
    $dt =Mcarbon::createFromDate(2018,2,13,null);
    var_dump($dt->year);
    var_dump($dt->month);
    var_dump($dt->day);
    var_dump($dt->hour);
    

这是 Codeigniter 3 的另一种方法:

  1. 使用Composer安装(这里不解释如何安装Composer):

    • 打开终端
    • 转到您的 Codeigniter 项目的根文件夹并键入:
      composer require nesbot/carbon ^2
      
    • 它应该在 vendor/nestbot/Carbon 文件夹中安装 Carbon 2.x
    • 删除 ˆ2 以安装最新的 1.x 版本(写这个答案时)
  2. 更新 Codeigniter 配置文件以自动加载组件:

    • 打开application/config/config.php并更改:
      $config['composer_autoload'] = FALSE;
      
      到:
      $config['composer_autoload'] = FCPATH.'/vendor/autoload.php';
      
  3. 为 Carbon 创建一个 Codeigniter 库:

    • 创建 application/libraries/Carbon_lib.php 文件:
    <?php
    
    if ( ! defined('BASEPATH')) exit('No direct script access allowed');<br>
    use Carbon\Carbon;<br>
    public function __construct($time = null, $tz = null) {<br>
      parent::__construct($time, $tz);<br>
    }
    
  4. 在您的控制器、模型中加载库...:[=​​18=]

    $this->load->library('carbon_lib');
    
  5. 像使用 Carbon 一样使用库:

    $carbon = $this->carbon_lib;<br>$carbon->addDay();<br>//Get the SQL date and date/time format<br>$carbon->toDateString();<br>$carbon->toDateTimeString();<br>//And to create an immutable object<br>$carbonImmutable = $this->carbon_lib->toImmutable();
    ...
    

有关详细信息,请参阅 Carbon website

按照 Codeigniter 3 的步骤操作:

  1. 通过 composer 安装 carbon

    作曲家要求 nesbot/carbon

  2. 更新 index.php,添加此行

    需要'vendor/autoload.php';

  3. 在您的控制器中,将此行添加到顶部。

    使用Carbon\Carbon;

现在您可以使用碳功能。 示例:

Carbon::now();