如何通过Composer安装包?

3

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

如何在不出现错误的情况下使用该包中的类?

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

错误信息:

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

0 {main}

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

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

0 {main}

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


你遇到了哪个错误? - Akkapong Kajornwongwattana
3个回答

2

运行后

$ composer install

在你的脚本文件顶部(或对于 Web 应用程序,在前端控制器),要求自动加载器生成的vendor/autoload.php
然后,你就可以在脚本中使用所有自动加载的类。
<?php    

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

$htmlDom = new simple_html_dom_node();

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


1

显然,emanueleminotto/simple-html-dom没有使用命名空间,因此默认使用全局命名空间。清洁的解决方案是包括vendor/autoload.php(由composer创建/生成/更新),并通过在前面加上\来使用类/函数,以指示全局命名空间...除非您自己在全局命名空间中工作,在这种情况下,您不必添加前缀。


1
你应该能够直接使用它们。如果我没看错的话,整个包实际上只有一个文件,由composer自动加载。
如果在你的PHP脚本中包含vendor/autoload.php文件,你就可以使用该包中的类了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接