0

我一直在尝试在我的 codeigniter 中使用 tc_calender 进行数据采集。

我已将 tc_calender.php 和 calendar_form.php 存储在库文件夹中,并在 autoload.php 中提到:

$autoload['libraries'] = array('database','tc_calendar');

还包括以下工作正常:

<?php define('TLOGICURL', base_url()); ?>
<script src="<?php echo TLOGICURL;?>assets/js/calendar.js"></script>
<link href="<?php echo TLOGICURL;?>assets/css/calendar.css" rel="stylesheet">

但它显示以下错误:

A PHP Error was encountered
Severity: Warning
Message: Missing argument 1 for tc_calendar::tc_calendar(), called in D:\xampp\htdocs\tlogic\system\core\Loader.php on line 1099 and defined
Filename: libraries/tc_calendar.php
Line Number: 101

and

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: objname
Filename: libraries/tc_calendar.php
Line Number: 102
4

1 回答 1

0

tc_calendar::tc_calendar()tc_calendar类的构造函数。您不能在自动加载中传递构造函数参数,并且 using$this->load->library()只允许一个必须是数组的参数。

完成这项工作的一种方法是创建 tc_calendar 的子类并加载它。

<?php
include_once 'tc_calendar.php';
class my_calendar extends tc_calendar {
  public function __construct(array $config = array()) {
    $arg = array_key_exists('argname', $config) ? $config['argname'] : DEFAULT;
    base::tc_calendar($arg);
  }
}

然后你可以自动加载,或者手动加载一个额外的参数,如下所示:

$this->load->library('my_calendar', array('argument'));

如果 tc_calendar 构造函数使用它们,您应该用有意义的东西替换'argname'和,并且可能添加更多参数。DEFAULT

于 2013-06-07T14:47:25.367 回答