gpt4 book ai didi

Symfony 2 - 如何确定 autoload.php 和 Appkernel.php 的命名空间和 Bundle 名称

转载 作者:行者123 更新时间:2023-12-04 17:03:46 27 4
gpt4 key购买 nike

我对 symfony2 很陌生,但找不到此信息:
要注册位于我的供应商目录中的包,如何确定 autoload.php 和 Appkernel.php 的命名空间和包名称?

例如,我下载了 Luiggio 的 PHPExcel 包。我已经把它放在 vendorDir/ExcelBundle/

内容在哪里:

namespace Liuggio\ExcelBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class LiuggioExcelBundle extends Bundle
{
}

我应该在 Appkernel 和 namespace.php 中放哪些行?
这和这不起作用:
new Liuggio\ExcelBundle\LiuggioExcelBundle()
//'Liuggio\\ExcelBundle' => array($vendorDir. '/PHPExcel'),

我根本无法使用 composer 或 github repo,我所在的代理和限制太多。

最佳答案

您不应该在 vendor 中放置 bundle 手动目录。让 Composer 为您做这件事。 Composer 不仅知道供应商库/bundle 的位置,还将它们添加到您的自动加载文件并执行一些其他自动化任务。

要告诉 Composer 需要哪些库,您应该将它们添加到您的 composer.json :

    "require" : {
(...)
"liuggio/ExcelBundle": "~2.0"
},

接下来,使用命令行,运行 composer update命令:
$ php composer.phar update

(如果您的项目目录中没有文件 composer.phar,但您已全局安装 Composer,请使用以下内容:)
$ composer update

这将告诉 Composer 自动下载所需的依赖项、更新自动加载脚本等。完成后,您就可以开始了。

如果您无法在服务器上使用 Composer,请在上传文件之前在本地运行它(尽管我强烈建议您移至允许您使用 Composer 的服务器)。

您尝试添加到 AppKernel.php 的行是正确的,但是它仅在运行 Composer 后才有效(或者您确实必须下载文件并手动更新自动加载器,但我强烈建议您不要这样做)。

编辑

如果您实在无法使用 Composer,请执行以下操作:

将 ExcelBundle 的文件放在以下目录中:
vendor/liuggio/ExcelBundle/Liuggio/ExcelBundle

您的专线 AppKernel.php已经是正确的。

将此行添加到 autoload_namespaces.php :
'Liuggio\\ExcelBundle' => array($vendorDir . '/liuggio/ExcelBundle'),

最后但并非最不重要的一点是,向您的系统管理员提示他的愚蠢安全措施使您的工作无法进行。

关于Symfony 2 - 如何确定 autoload.php 和 Appkernel.php 的命名空间和 Bundle 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23468690/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com