Composer 和注册 Autoloader
Composer and registering Autoloader
根据 https://github.com/PHPOffice/PHPWord/tree/master 它推断如果我通过 composer 安装 PHPWord,我不会注册自动加载器。参见:
It is recommended that you install the PHPWord library through composer. To do so, add the following lines to your composer.json.
{
"require": {
"phpoffice/phpword": "dev-master"
}
}
Alternatively, you can download the latest release from the releases page. In this case, you will have to register the autoloader.
require_once 'path/to/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
(特别是 在这种情况下,您将必须注册自动加载器。)。
但是,如果我通过 Composer 安装,请跳过这些行
require_once 'path/to/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
我收到这个错误:
PHP Fatal error: Class 'PhpOffice\PhpWord\Autoloader' not found in /Users/snowcrash/Developer/Code/PHP/PHPWord_Projects/test/basic_eg.php on line 3
所以,我的问题是 - 我是否需要向 Composer 注册 Autoloader
?
如果是这样,是文档不正确还是我误解了什么?
如果您通过 Composer 安装它,您仍然必须 require_once 'vendor/autoload.php'
在您的项目中。那是 Composer 的自动加载器。
不同之处在于 Composer 的自动加载器可用于您以后包含的所有库,而不仅仅是您现在想要的库。
首先检查public目录下的index.php文件。
您只需要一个干净的 index.php 文件,这样您就可以创建一个可以安装新 laravel 的新目录。从新的 laravel 目录中,复制 index.php 文件并替换到原始存储库中。
它对我有用..:)
根据 https://github.com/PHPOffice/PHPWord/tree/master 它推断如果我通过 composer 安装 PHPWord,我不会注册自动加载器。参见:
It is recommended that you install the PHPWord library through composer. To do so, add the following lines to your composer.json.
{
"require": {
"phpoffice/phpword": "dev-master"
}
}
Alternatively, you can download the latest release from the releases page. In this case, you will have to register the autoloader.
require_once 'path/to/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
(特别是 在这种情况下,您将必须注册自动加载器。)。
但是,如果我通过 Composer 安装,请跳过这些行
require_once 'path/to/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
我收到这个错误:
PHP Fatal error: Class 'PhpOffice\PhpWord\Autoloader' not found in /Users/snowcrash/Developer/Code/PHP/PHPWord_Projects/test/basic_eg.php on line 3
所以,我的问题是 - 我是否需要向 Composer 注册 Autoloader
?
如果是这样,是文档不正确还是我误解了什么?
如果您通过 Composer 安装它,您仍然必须 require_once 'vendor/autoload.php'
在您的项目中。那是 Composer 的自动加载器。
不同之处在于 Composer 的自动加载器可用于您以后包含的所有库,而不仅仅是您现在想要的库。
首先检查public目录下的index.php文件。 您只需要一个干净的 index.php 文件,这样您就可以创建一个可以安装新 laravel 的新目录。从新的 laravel 目录中,复制 index.php 文件并替换到原始存储库中。 它对我有用..:)