在 codeigniter 3 中集成碳库
Posted
技术标签:
【中文标题】在 codeigniter 3 中集成碳库【英文标题】:Integrate carbon library in codeigniter 3 【发布时间】:2016-12-12 22:04:16 【问题描述】:我很难将 grate DateTime 库 carbon 库与我在 codeigniter 3 中的项目集成 我试过这个
$this->load->library('carbon');
它给了我一个错误
not existing class
我认为问题在于命名空间,因为 carbon 使用命名空间 carbon\carbon
提前谢谢你。
【问题讨论】:
我想如果你仍然没有找到这个问题的答案,我认为你最好看看我的答案! :-) 【参考方案1】:简单的步骤:
直接下载:https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php
将 Carbon.php 放在应用程序/库中
创建 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
把它放在你的控制器中
$this->load->library ( 'Mcarbon' );
在任何函数中调用 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 的另一种方法:
使用 Composer 安装(这里不解释如何安装 Composer):
打开终端 转到 Codeigniter 项目的根文件夹并键入:composer require nesbot/carbon ^2
它应该在 vendor/nestbot/Carbon 文件夹中安装 Carbon 2.x
删除ˆ2
以安装最新的1.x 版本(写此答案时)
更新 Codeigniter 配置文件以自动加载组件:
打开 application/config/config.php 并更改:$config['composer_autoload'] = FALSE;
到:
$config['composer_autoload'] = FCPATH.'/vendor/autoload.php';
为 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);
在您的控制器中加载库,模型...:
$this->load->library('carbon_lib');
像使用 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 的步骤进行操作:
通过 composer 安装 carbon
作曲家需要 nesbot/carbon
更新index.php,添加这一行
需要'vendor/autoload.php';
在您的控制器中,在顶部添加这一行。
使用碳\碳;
现在您可以使用碳功能。 示例:
Carbon::now();
【讨论】:
以上是关于在 codeigniter 3 中集成碳库的主要内容,如果未能解决你的问题,请参考以下文章