在 Symfony 2.6 中自动加载 PHPExcel 1.0
Autoload PHPExcel 1.0 in Symfony 2.6
我们通过添加以下内容将 PHPExcel 添加到 composer
至repositories
:
{
"type": "package",
"package": {
"name": "PHPOffice/PHPExcel",
"version": "1.9",
"source": {
"url": "https://github.com/PHPOffice/PHPExcel.git",
"type": "git",
"reference": "1.9"
},
"autoload": {
"psr-0": {
"PHPExcel": "src/"
}
}
}
至require
:
"PHPOffice/PHPExcel": "1.9.*"
在我们的代码中:
use PHPExcel\IOFactory;
...
$file = $request->get('file');
$inputFileType = IOFactory::identify($file);
我们得到的错误是:
Attempted to load class "IOFactory" from namespace "PHPExcel".
Did you forget a "use" statement for another namespace?
名称空间看起来正确 (https://github.com/PHPOffice/PHPExcel/blob/1.9/src/PhpSpreadsheet/IOFactory.php)。
我没用过1.9。很高兴看到他们正在转向命名空间。也就是说,为了稳定性,您最好坚持使用 1.8。
无论如何,1.9 依赖于 psr-4。尝试将此添加到您的 composer.json 文件中:
"autoload": {
"psr-4": {
"PHPExcel\": "src/PhpSpreadsheet"
}
}
然后重建作曲家生成的 autoload.php 文件。
不推荐使用 1.9 分支。它尚未完全转换为使用名称空间,并且可能会发生重大代码更改。它也不向后兼容官方 1.8 分支,并且尚未记录更改,并且随着我们修改代码以利用 PHP.
的更新功能,还会进行进一步的重大更改
官方发布分支还是1.8
仅仅因为 github 上存在 1.8 分支并不意味着它是工作代码。我将它存储在那里,以便它可用于共享开发,并作为一种安全措施(而不是将其全部保存在我的开发笔记本电脑上),以防我 运行 明天乘公共汽车过来。
我们通过添加以下内容将 PHPExcel 添加到 composer
至repositories
:
{
"type": "package",
"package": {
"name": "PHPOffice/PHPExcel",
"version": "1.9",
"source": {
"url": "https://github.com/PHPOffice/PHPExcel.git",
"type": "git",
"reference": "1.9"
},
"autoload": {
"psr-0": {
"PHPExcel": "src/"
}
}
}
至require
:
"PHPOffice/PHPExcel": "1.9.*"
在我们的代码中:
use PHPExcel\IOFactory;
...
$file = $request->get('file');
$inputFileType = IOFactory::identify($file);
我们得到的错误是:
Attempted to load class "IOFactory" from namespace "PHPExcel".
Did you forget a "use" statement for another namespace?
名称空间看起来正确 (https://github.com/PHPOffice/PHPExcel/blob/1.9/src/PhpSpreadsheet/IOFactory.php)。
我没用过1.9。很高兴看到他们正在转向命名空间。也就是说,为了稳定性,您最好坚持使用 1.8。
无论如何,1.9 依赖于 psr-4。尝试将此添加到您的 composer.json 文件中:
"autoload": {
"psr-4": {
"PHPExcel\": "src/PhpSpreadsheet"
}
}
然后重建作曲家生成的 autoload.php 文件。
不推荐使用 1.9 分支。它尚未完全转换为使用名称空间,并且可能会发生重大代码更改。它也不向后兼容官方 1.8 分支,并且尚未记录更改,并且随着我们修改代码以利用 PHP.
的更新功能,还会进行进一步的重大更改官方发布分支还是1.8
仅仅因为 github 上存在 1.8 分支并不意味着它是工作代码。我将它存储在那里,以便它可用于共享开发,并作为一种安全措施(而不是将其全部保存在我的开发笔记本电脑上),以防我 运行 明天乘公共汽车过来。