我加载了一个适用于CodeIgniter的作曲家库,名为SteeveDroz\Asset
,我可以毫无问题地访问$asset = new SteeveDroz\Asset
。
我希望能够使用CodeIgniter $this->load->library('SteeveDroz\Asset')
加载它,但收到错误消息
无法加载请求的类:SteeveDroz \ Asset
能否实现我想要的?如果是,怎么办?
答案 0 :(得分:1)
如Alex在他的comment中所提到的,需要制作一个适配器库。我为此创建了一个通用类:
class ComposerAdapter
{
private $object;
public function __construct($object)
{
$this->object = $object;
}
public function __call($method, $args)
{
return call_user_func_array([$this->object, $method], $args);
}
}
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require('ComposerAdapter.php');
class Asset extends ComposerAdapter
{
public function __construct()
{
parent::__construct(new SteeveDroz\Asset());
}
}
// ...
$autoload['libraries'] = array('asset');
// ...
答案 1 :(得分:0)
如果您使用的是CodeIgniter 3,则可以修改application/config/config.php
并进行设置
$config['composer_autoload'] = TRUE
或
$config['composer_autoload'] = FCPATH .'vendor/autoload.php';
这将自动加载您所有的作曲家依赖项。