如何要求通过Composer安装包

时间:2017-09-12 04:36:30

标签: php composer-php packages packagist

我通过emanueleminotto/simple-html-dom安装了composer

如何在不收到错误的情况下使用包中的类?

注意:我使用XAMPP来运行PHP脚本。

错误讯息:

  

PHP致命错误:未捕获错误:在C:\ xampp \ htdocs \ Practice \ PHP \ scrape_1.php中找不到类'simple_html_dom':3   堆栈跟踪:

     

0 {main}

     

在第3行的C:\ xampp \ htdocs \ Practice \ PHP \ scrape_1.php中抛出

     

致命错误:未捕获错误:在C:\ xampp \ htdocs \ Practice \ PHP \ scrape_1.php中找不到类'simple_html_dom':3   堆栈跟踪:

     

0 {main}

     

在第3行的C:\ xampp \ htdocs \ Practice \ PHP \ scrape_1.php中抛出

3 个答案:

答案 0 :(得分:2)

运行后

$ composer install

要求在脚本文件顶部的vendor/autoload.php中生成自动加载器(或者,对于Web应用程序,在前端控制器中)。

然后您将在脚本中使用所有自动加载的类。

<?php    

require_once __DIR__ . '/vendor/autoload.php';

$htmlDom = new simple_html_dom_node();

供参考,请参阅https://getcomposer.org/doc/01-basic-usage.md#autoloading

答案 1 :(得分:1)

显然emanueleminotto/simple-html-dom不使用命名空间,因此默认情况下使用全局命名空间。干净的解决方案是包含vendor/autoload.php(由作曲家创建/生成/更新)并通过前置\使用类/函数来指示全局命名空间...除非你在全局工作自己命名空间,在这种情况下你不必预先添加。

答案 2 :(得分:1)

你应该可以使用它们。如果我看到了这一点,那么整个软件包实际上只是一个由作曲家自动加载的文件。

如果在PHP脚本中包含vendor/autoload.php文件,那么最好使用包中的类。