【问题标题】:Integrate carbon library in codeigniter 3在 codeigniter 3 中集成碳库
【发布时间】:2016-12-12 22:04:16
【问题描述】:

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

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

它给了我一个错误

not existing class

我认为问题在于命名空间,因为 carbon 使用命名空间 carbon\carbon

提前谢谢你。

【问题讨论】:

  • 我想如果你仍然没有找到这个问题的答案,我认为你最好看看我的答案! :-)

标签: php codeigniter php-carbon


【解决方案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);
    

【讨论】:

    【解决方案2】:

    这是 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-&gt;load-&gt;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

    【讨论】:

      【解决方案3】:

      按照 Codeigniter 3 的步骤进行操作:

      1. 通过 composer 安装 carbon

        作曲家需要 nesbot/carbon

      2. 更新index.php,添加这一行

        需要'vendor/autoload.php';

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

        使用碳\碳;

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

      Carbon::now();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-02
        • 2017-12-04
        • 2011-08-17
        • 1970-01-01
        相关资源
        最近更新 更多