How to use composer packages in codeigniter?

后端 未结 7 1577
逝去的感伤
逝去的感伤 2020-12-02 17:38

I\'ve followed this article: http://philsturgeon.co.uk/blog/2012/05/composer-with-codeigniter

But I get Fatal error: Class \'Buzz\\Browser\' not found.<

相关标签:
7条回答
  • 2020-12-02 18:28

    Well in Codeigniter3.x you can easily do that by going into the application/config/config.php and look for this line

    $config['composer_autoload'] = FALSE;
    

    Make sure you set it to TRUE and right after it you require_once this:

    require_once APPPATH.'vendor/autoload.php';
    

    So you get something like this:

    /*
    |--------------------------------------------------------------------------
    | Composer auto-loading
    |--------------------------------------------------------------------------
    |
    | Enabling this setting will tell CodeIgniter to look for a Composer
    | package auto-loader script in application/vendor/autoload.php.
    |
    |   $config['composer_autoload'] = TRUE;
    |
    | Or if you have your vendor/ directory located somewhere else, you
    | can opt to set a specific path as well:
    |
    |   $config['composer_autoload'] = '/path/to/vendor/autoload.php';
    |
    | Note: This will NOT disable or override the CodeIgniter-specific
    |   autoloading (application/config/autoload.php)
    */
    $config['composer_autoload'] = TRUE;
    require_once APPPATH.'vendor/autoload.php';
    

    Just make sure you have your vendor folder in the application folder and you are good to go.

    I recently found out that you can just set $config['composer_autoload'] = TRUE; and put your vendor folder in the application folder and that's it.

    For those who would want your vendor folder outside the application folder. You can make it happen in this way: for example you want to place it in the root folder.

    TIP: it has been described in the comment already

    $config['composer_autoload'] = '/path/to/vendor/autoload.php';

    /*
    |--------------------------------------------------------------------------
    | Composer auto-loading
    |--------------------------------------------------------------------------
    |
    | Enabling this setting will tell CodeIgniter to look for a Composer
    | package auto-loader script in application/vendor/autoload.php.
    |
    |   $config['composer_autoload'] = '/path/to/vendor/autoload.php';
    |
    | Note: This will NOT disable or override the CodeIgniter-specific
    |   autoloading (application/config/autoload.php)
    */
    $config['composer_autoload'] = FCPATH .'vendor/autoload.php';
    

    Where FCPATH is codeigniter's defined constant for the root folder.

    I guess this helps.

    0 讨论(0)
提交回复
热议问题