如何使用`Composer`在项目中添加Codeigniter助手?

时间:2013-08-23 14:53:55

标签: php codeigniter codeigniter-2 composer-php codeigniter-form-helper

为了了解作曲家的工作原理

我创建composer.json以下载所有依赖项的codeigniter

{
    "require": {
        "rogeriopradoj/codeigniter": "2.1.4"
    }
}

然后使用vendor

创建composer目录

在加载所有这些之后我想使用codeigniter附带的表单助手,我希望使用composer来完成所有这些(了解作曲家的工作原理)。

我创建了index.php,其中包含以下代码,并且还包含require 'vendor/autoload.php';

<?php
// file name : index.php
require 'vendor/autoload.php';


class A extends CI_Controller
{   
    public function home()
    {
        $this->load->helper('form');
        echo form_open('email/send');

        $data = array(
                      'name'        => 'username',
                      'id'          => 'username',
                      'value'       => 'johndoe',
                      'maxlength'   => '100',
                      'size'        => '50',
                      'style'       => 'width:50%',
                    );

        echo form_input($data);
        echo form_close("</div>");      
    }

}

$a = new A;
$a->home();

?>

当我访问127.0.0.1/index.php时,我收到以下错误

Notice: Undefined property: A::$load in C:\xampp\htdocs\M\index.php on line 14

Fatal error: Call to a member function helper() on a non-object in C:\xampp\htdocs\M\index.php on line 14

所以它没有按我想要的方式工作,有谁请解释什么是错的?

更新

在包含表单助手但仍然出现此错误后,我已添加vendor/autoload.php

Fatal error: Class 'CI_Controller' not found in C:\xampp\htdocs\M\index.php on line 7

1 个答案:

答案 0 :(得分:1)

您尚未设置$load。这就像你在做null -> helper ();这样的事情来解释“对非对象的调用”错误。

修改:对于“未找到类”错误,您可以查看以下内容:

Codeigniter Command line error - PHP Fatal error: Class 'CI_Controller' not found