Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何要求通过Composer安装软件包_Php_Composer Php_Packages_Packagist - Fatal编程技术网

Php 如何要求通过Composer安装软件包

Php 如何要求通过Composer安装软件包,php,composer-php,packages,packagist,Php,Composer Php,Packages,Packagist,我通过composer安装了emanueleminotto/simple html dom 如何使用包中的类而不出错 注意:我使用XAMPP运行PHP脚本 错误消息: PHP致命错误:未捕获错误:在C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP:3中找不到类“simple\u html\u dom” 堆栈跟踪: 0{main} 在第3行的C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP中抛出 致命错误:未捕获错误:在C

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

如何使用包中的类而不出错

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

错误消息:

PHP致命错误:未捕获错误:在C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP:3中找不到类“simple\u html\u dom” 堆栈跟踪:

0{main} 在第3行的C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP中抛出

致命错误:未捕获错误:在C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP:3中找不到类“simple\u html\u dom” 堆栈跟踪:

0{main} 在第3行的C:\xampp\htdocs\Practice\PHP\scrape\u 1.PHP中抛出


显然,
emanueleminotto/simple html dom
不使用名称空间,因此默认情况下使用全局名称空间。干净的解决方案是包括
供应商/autoload.php
(由composer创建/生成/更新),并通过在
\
前加前缀来使用类/函数,以指示全局命名空间。。。除非您自己在全局名称空间中工作,否则在这种情况下,您不必预先编写。

您应该能够直接使用它们。如果我看得对的话,整个软件包实际上只是一个由composer自动加载的文件

如果在php脚本中包含
vendor/autoload.php
文件,则最好在运行后使用包中的类。

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

然后,脚本中将提供所有自动加载的类

<?php    

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

$htmlDom = new simple_html_dom_node();

您遇到了哪个错误?