在codeigniter 3中集成碳库

时间:2016-08-06 17:37:01

标签: php codeigniter php-carbon

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

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

并且它给了我一个错误

not existing class

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

提前谢谢你。

3 个答案:

答案 0 :(得分:1)

简单步骤:

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

  2. 将Carbon.php放在应用程序/库

  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);
    

答案 1 :(得分:1)

按照 Codeigniter 3 的步骤操作:

  1. 通过 composer 安装 carbon

    作曲家需要 nesbot/carbon

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

    需要'vendor/autoload.php';

  3. 在您的控制器中,在顶部添加这一行。

    使用碳\碳;

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

Carbon::now();

答案 2 :(得分:0)

这是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');
    use Carbon\Carbon;
    public function __construct($time = null, $tz = null) {
      parent::__construct($time, $tz);
    }
  4. 将库加载到控制器中,模型...:

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

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

有关更多详细信息,请参见Carbon website