【问题标题】:How to use `Composer` to add Codeigniter helper in a project?如何使用 Composer 在项目中添加 Codeigniter 助手?
【发布时间】:2013-08-23 14:53:55
【问题描述】:

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

我创建了composer.json 来下载包含所有依赖项的codeigniter

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

然后使用composer创建vendor目录

加载所有这些后,我只想使用 codeigniter 附带的表单助手,并且我想使用 composer 来完成所有这些(了解 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

【问题讨论】:

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


    【解决方案1】:

    您尚未设置$load。这就像你在做类似null -&gt; helper (); 的事情,它解释了“调用非对象”错误。

    编辑:对于你的 Class not found 错误,你可以看看这个:

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

    【讨论】:

    • 现在我添加了 $this->load->helper();但还是不行,“CI_Controller not found”
    • 您是否包含了包含 CI_Controller 类的文件?也许它在vendor/autoload.php 文件中?请将新错误添加到您的主要帖子中作为编辑。
    • 我添加了 vendor/autoload.php,考虑到它会处理 CI_Controller 类
    • 编辑了我的答案以添加指向 SO 上类似问题的链接。看看吧,你有可能遇到同样的问题。
    猜你喜欢
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2020-04-18
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多