直接在Symfony中使用Composer安装的软件包

联合特遣队

我有一个symfony 2.8应用程序,并且在composer.json文件中有我要使用的htmlpurifier库:

"require": {
        ...
        "ezyang/htmlpurifier": "^4.8"
},

它已安装,我可以在/vendor/目录中看到该库Composer会自动放置一个名称空间映射供我使用。

return array(
    ...
    'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
    ...
);

并且主站点上的说明指出您需要自动装带器,然后使用各种类。

<?php
    require_once '/path/to/htmlpurifier/library/HTMLPurifier.auto.php';

    $config = HTMLPurifier_Config::createDefault();  //defined in HTMLPurifier\Config.php
    $purifier = new HTMLPurifier($config);  //defined in HTMLPurifier\HTMLPurifier.php
    $clean_html = $purifier->purify($dirty_html);
?>

足够公平,现在我遇到的问题是使用darn库。

在我的课堂上,我遇到了use \HTMLPurifier\HTMLPurifier.auto;那是语法错误(use语句中不应该包含句点)。

所以我尝试了

use \HTMLPurifier\Config;

class Test
{
   public function blah()
   {
      $config = Config::createDefault();
   }
}

但是Symfony抱怨找到了Config文件,但是类名不相同(文件名是Config.php,类名是HTMLPurifier_Config)。我尝试将use语句替换为use \HTMLPurifier\Config as HTMLPurifier_Config;And,它给了我同样的错误,声称它可以找到文件,但不能找到类。

所以我很困惑。处理由composer安装的具有自动加载程序文件的库的最佳方法是什么,该文件可以加载该库的所有类?我是否必须更改所有类,以使其与文件名匹配,反之亦然,因此Symfony自动加载器将使用它们?还是有一种我更容易忽略的简便方法?

一如既往,谢谢。

里纳特

您称不存在的命名空间。遵循代码示例将起作用

use HTMLPurifier_Config as Config;

class Test
{
   public function blah()
   {
       $config = Config::createDefault();
   }
}

谢谢

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用Composer安装Symfony 3的软件包

来自分类Dev

使用composer安装多个软件包?

来自分类Dev

Symfony2和Composer未安装软件包

来自分类Dev

使用Composer安装PEAR软件包是否可以在PHP 7中使用?

来自分类Dev

从git仓库使用composer安装软件包

来自分类Dev

我无法使用Composer安装laravel / socialite软件包

来自分类Dev

尝试使用composer安装oAuth软件包

来自分类Dev

从git仓库使用composer安装软件包

来自分类Dev

如何在命令行中使用composer安装软件包的最新版本?

来自分类常见问题

如何在PyCharm中使用已安装的软件包?

来自分类Dev

如何在jenkins中使用pip安装软件包

来自分类Dev

无法在npm中使用已安装的软件包

来自分类Dev

如何在Dockerfile中使用miniconda安装软件包?

来自分类Dev

无法在Docker容器中使用chcolatey安装软件包

来自分类Dev

无法在npm中使用已安装的软件包

来自分类Dev

生动-在systemd安装中使用upstart损坏的软件包

来自分类Dev

从composer脚本/ composer API获取软件包安装路径

来自分类Dev

如何在composer中使用与另一个软件包同名的软件包?

来自分类Dev

Laravel使用Composer删除软件包

来自分类Dev

如何使用Composer安装没有版本的软件包(仅限主版本)

来自分类Dev

使用composer将软件包安装到自定义路径不起作用

来自分类Dev

使用composer将软件包安装在非空文件夹中

来自分类Dev

是否可以在不使用Composer的情况下安装Laravel 4软件包?

来自分类Dev

Composer不会安装“ require-dev”软件包

来自分类Dev

自定义软件包的Composer安装路径

来自分类Dev

如何在不同目录中安装composer软件包

来自分类Dev

Composer软件包已更新但未安装

来自分类Dev

为什么Composer安装其他软件包?

来自分类Dev

Composer 不会安装软件包依赖项

Related 相关文章

  1. 1

    无法使用Composer安装Symfony 3的软件包

  2. 2

    使用composer安装多个软件包?

  3. 3

    Symfony2和Composer未安装软件包

  4. 4

    使用Composer安装PEAR软件包是否可以在PHP 7中使用?

  5. 5

    从git仓库使用composer安装软件包

  6. 6

    我无法使用Composer安装laravel / socialite软件包

  7. 7

    尝试使用composer安装oAuth软件包

  8. 8

    从git仓库使用composer安装软件包

  9. 9

    如何在命令行中使用composer安装软件包的最新版本?

  10. 10

    如何在PyCharm中使用已安装的软件包?

  11. 11

    如何在jenkins中使用pip安装软件包

  12. 12

    无法在npm中使用已安装的软件包

  13. 13

    如何在Dockerfile中使用miniconda安装软件包?

  14. 14

    无法在Docker容器中使用chcolatey安装软件包

  15. 15

    无法在npm中使用已安装的软件包

  16. 16

    生动-在systemd安装中使用upstart损坏的软件包

  17. 17

    从composer脚本/ composer API获取软件包安装路径

  18. 18

    如何在composer中使用与另一个软件包同名的软件包?

  19. 19

    Laravel使用Composer删除软件包

  20. 20

    如何使用Composer安装没有版本的软件包(仅限主版本)

  21. 21

    使用composer将软件包安装到自定义路径不起作用

  22. 22

    使用composer将软件包安装在非空文件夹中

  23. 23

    是否可以在不使用Composer的情况下安装Laravel 4软件包?

  24. 24

    Composer不会安装“ require-dev”软件包

  25. 25

    自定义软件包的Composer安装路径

  26. 26

    如何在不同目录中安装composer软件包

  27. 27

    Composer软件包已更新但未安装

  28. 28

    为什么Composer安装其他软件包?

  29. 29

    Composer 不会安装软件包依赖项

热门标签

归档