我在这个问题上完全被困住了!我使用的是php简单-html-dom-解析器,这是用PSR-0加载的。我对PSR-0没那么熟悉。但是我使用这个类,就像自述文件显示的那样,但我无法让它工作。
在我的IDE中,自动完成工作正常,没有显示任何错误。但是,当我运行脚本时,我会得到以下错误:
致命错误:在第3行的C:\xampp\htdocs\folder\test.php中找不到'Sunra\PhpSimple\HtmlDomParser‘类
代码:
<?php
use Sunra\PhpSimple\HtmlDomParser;
$dom = HtmlDomParser::file_get_html();档案结构:
folder\
Sunra\
PhpSimple\
simplehtmldom_1_5\
HtmlDomParser.php
test.php正如我所说,我真的不知道出了什么问题。所以,也许我找错了东西,这就是为什么我发布这个问题。
发布于 2014-05-15 08:56:20
下载作曲家
在项目目录中运行:
php composer.phar require sunra/php-simple-html-dom-parser ~1.5
在php文件(例如index.php)中添加:
<?php
include 'vendor/autoload.php';
use Sunra\PhpSimple\HtmlDomParser;
$dom = HtmlDomParser::file_get_html();在这里,当您包含vendor/autoload.php时,编写器生成的自动加载配置为您处理所有的类自动配置。几乎所有遵循PSR-0的github库都存在于帕卡吉斯特上,从而使它们可以以这种方式安装。
您可能需要阅读语义版本化,以了解当您需要库时安装的内容。
大多数现代PHP框架现在都使用Composer作为它们的依赖项。然而,它仍然是完全可行的小项目,甚至一个文件。
发布于 2014-05-15 08:50:07
发布于 2014-05-15 08:52:44
使用PSR-0自动加载器,您是将其添加到spl_autoload_register('autoload')中,还是使用composer和composers autoloader?
这对我来说很管用:
<?php
function autoload($className)
{
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
}
spl_autoload_register('autoload');
use Sunra\PhpSimple\HtmlDomParser;
$dom = HtmlDomParser::file_get_html('http://google.com');
var_dump($dom);
?>来源:http://www.php-fig.org/psr/psr-0/
https://stackoverflow.com/questions/23673324
复制相似问题