作曲家,没有找到课程

时间:2014-04-29 23:09:36

标签: php sql codeigniter composer-php

我在我的CodeIgniter项目中安装了composer,下载了2个包:Aura / Sql和Aura / SqlQuery

这是我在index.php文件中的代码

require_once ROOTPATH . 'vendor/autoload.php';

use Aura\Sql\ExtendedPdo;
$db = new ExtendedPdo('mysql:host=127.0.0.1;dbname=mydb', 'root', '', array(), array());
var_dump($db->fetchAll('SELECT * FROM sh_users'));

use Aura\Sql_Query\QueryFactory;
$query_factory = new QueryFactory('mysql');

require_once BASEPATH . 'core/CodeIgniter.php';

这两个片段都是从文档中复制的

var_dump给出了完美的结果,但是QueryFactory给了我错误

Fatal error: Class 'Aura\Sql_Query\QueryFactory' not found in F:\XAMPP\htdocs\codeigniter\public\admin\index.php on line 83

我不明白为什么。所有供应商都下载了所有的php文件,但似乎自动加载并没有加载它。为什么呢?

1 个答案:

答案 0 :(得分:4)

查看磁盘上的文件结构;您实际上可能希望包含Aura\SqlQuery\QueryFactory,而不是Sql_Query命名空间下的内容。它可能就是那么简单。当我忘记在符合PSR-0的路径中重命名该类以使其与文件名匹配时,我遇到了问题,因此如果实际上磁盘上的内容位于:

Aura\SqlQuery\QueryFactory但您的使用声明为Aura\Sql_Query\QueryFactory,您将遇到问题。

如下面评论中所述,Aura开发人员似乎有两个分支,Githup项目auraphp/Aura.Sql_Query上的主分支仍然具有作为默认包的目录结构Sql_Query通过packagist,提供dev-rename分支,用[{1}}替换Sql_Query

希望有所帮助!