在 codeigniter 3 中集成碳库
Integrate carbon library in codeigniter 3
我很难尝试将 grate DateTime 库 carbon 库与我在 codeigniter 3 中的项目集成
我试过这个
$this->load->library('carbon');
它给我一个错误
not existing class
我认为问题是命名空间,因为碳使用命名空间 carbon\carbon
提前致谢。
简单的步骤:
直接下载:https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php
将Carbon.php置于application/libraries
创建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);
这是 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');<br>
use Carbon\Carbon;<br>
public function __construct($time = null, $tz = null) {<br>
parent::__construct($time, $tz);<br>
}
在您的控制器、模型中加载库...:[=18=]
$this->load->library('carbon_lib');
像使用 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 的步骤操作:
通过 composer 安装 carbon
作曲家要求 nesbot/carbon
更新 index.php,添加此行
需要'vendor/autoload.php';
在您的控制器中,将此行添加到顶部。
使用Carbon\Carbon;
现在您可以使用碳功能。
示例:
Carbon::now();
我很难尝试将 grate DateTime 库 carbon 库与我在 codeigniter 3 中的项目集成 我试过这个
$this->load->library('carbon');
它给我一个错误
not existing class
我认为问题是命名空间,因为碳使用命名空间 carbon\carbon
提前致谢。
简单的步骤:
直接下载:https://github.com/briannesbitt/Carbon/blob/master/src/Carbon/Carbon.php
将Carbon.php置于application/libraries
创建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);
这是 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';
- 打开application/config/config.php并更改:
为 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> }
在您的控制器、模型中加载库...:[=18=]
$this->load->library('carbon_lib');
像使用 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 的步骤操作:
通过 composer 安装 carbon
作曲家要求 nesbot/carbon
更新 index.php,添加此行
需要'vendor/autoload.php';
在您的控制器中,将此行添加到顶部。
使用Carbon\Carbon;
现在您可以使用碳功能。 示例:
Carbon::now();