php phpoffice/phpexcel 上的作曲家自动加载失败
php composer autoload on phpoffice/phpexcel fails
我通过 composer 安装了软件包 phpoffice/phpexcel。无论如何,自动加载不起作用。我尝试了命名空间的每种组合来调用 class 但它不存在:
PHP Fatal error: Class 'PHPExcel\PHPExcel' not found in
调用它的代码:
$objPHPExcel = new \PHPExcel\PHPExcel();
composer.json 好看:
{
"name": "Bjc/Iis",
"description": "A complete software suite for commerce",
"license": "MIT",
"keywords": ["commerce"],
"authors": [
{
"name": "me",
"email": "me@me"
}
],
"require": {
"phpmailer/phpmailer": "5.*",
"components/jquery": "2.*",
"twbs/bootstrap": "3.*",
"zendframework/zend-barcode": "*",
"zendframework/zend-validator": "*",
"phpoffice/phpexcel": "1.8.*"
},
"require-dev": {},
"autoload": {
"psr-4": {
"Bjc\Iis\": "src"
}
}
}
命令"composer update"运行很好。 phpoffice/phpexcel 的文件也按预期在 vendor/phpoffice/phpexcel 中。
我在我的脚本中调用作曲家自动加载器如下(它可以与 phpmailer 一起工作):
require_once(__DIR__.'/../vendor/autoload.php');
Phpexcel 在 composer 的所有自动加载器文件中也有引用:
vendor/composer/autoload_static 有(除其他外)这些行:
public static $prefixesPsr0 = array (
'P' =>
array (
'PHPExcel' =>
array (
0 => __DIR__ . '/..' . '/phpoffice/phpexcel/Classes',
),
),
);
而 vendor/composer/autoload_namespaces.php 看起来像这样:
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),
);
谁能看到我的错误?
PHPExcel
class 不在命名空间中。
这对我有用:
<?php
require_once __DIR__ . '/vendor/autoload.php';
$phpExcel = new \PHPExcel();
很简单
<?php
require_once __DIR__ . '/vendor/autoload.php';
$phpExcelObject = new PHPExcel();
我通过 composer 安装了软件包 phpoffice/phpexcel。无论如何,自动加载不起作用。我尝试了命名空间的每种组合来调用 class 但它不存在:
PHP Fatal error: Class 'PHPExcel\PHPExcel' not found in
调用它的代码:
$objPHPExcel = new \PHPExcel\PHPExcel();
composer.json 好看:
{
"name": "Bjc/Iis",
"description": "A complete software suite for commerce",
"license": "MIT",
"keywords": ["commerce"],
"authors": [
{
"name": "me",
"email": "me@me"
}
],
"require": {
"phpmailer/phpmailer": "5.*",
"components/jquery": "2.*",
"twbs/bootstrap": "3.*",
"zendframework/zend-barcode": "*",
"zendframework/zend-validator": "*",
"phpoffice/phpexcel": "1.8.*"
},
"require-dev": {},
"autoload": {
"psr-4": {
"Bjc\Iis\": "src"
}
}
}
命令"composer update"运行很好。 phpoffice/phpexcel 的文件也按预期在 vendor/phpoffice/phpexcel 中。
我在我的脚本中调用作曲家自动加载器如下(它可以与 phpmailer 一起工作):
require_once(__DIR__.'/../vendor/autoload.php');
Phpexcel 在 composer 的所有自动加载器文件中也有引用:
vendor/composer/autoload_static 有(除其他外)这些行:
public static $prefixesPsr0 = array (
'P' =>
array (
'PHPExcel' =>
array (
0 => __DIR__ . '/..' . '/phpoffice/phpexcel/Classes',
),
),
);
而 vendor/composer/autoload_namespaces.php 看起来像这样:
// autoload_namespaces.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),
);
谁能看到我的错误?
PHPExcel
class 不在命名空间中。
这对我有用:
<?php
require_once __DIR__ . '/vendor/autoload.php';
$phpExcel = new \PHPExcel();
很简单
<?php
require_once __DIR__ . '/vendor/autoload.php';
$phpExcelObject = new PHPExcel();