首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类在PSR-0中找不到。

类在PSR-0中找不到。
EN

Stack Overflow用户
提问于 2014-05-15 08:45:36
回答 3查看 2K关注 0票数 3

我在这个问题上完全被困住了!我使用的是php简单-html-dom-解析器,这是用PSR-0加载的。我对PSR-0没那么熟悉。但是我使用这个类,就像自述文件显示的那样,但我无法让它工作。

在我的IDE中,自动完成工作正常,没有显示任何错误。但是,当我运行脚本时,我会得到以下错误:

致命错误:在第3行的C:\xampp\htdocs\folder\test.php中找不到'Sunra\PhpSimple\HtmlDomParser‘类

代码:

代码语言:javascript
复制
<?php
use Sunra\PhpSimple\HtmlDomParser;
$dom = HtmlDomParser::file_get_html();

档案结构:

代码语言:javascript
复制
folder\
  Sunra\
    PhpSimple\
      simplehtmldom_1_5\
      HtmlDomParser.php
test.php

正如我所说,我真的不知道出了什么问题。所以,也许我找错了东西,这就是为什么我发布这个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-15 08:56:20

下载作曲家

在项目目录中运行:

php composer.phar require sunra/php-simple-html-dom-parser ~1.5

在php文件(例如index.php)中添加:

代码语言:javascript
复制
<?php

include 'vendor/autoload.php';

use Sunra\PhpSimple\HtmlDomParser;

$dom = HtmlDomParser::file_get_html();

在这里,当您包含vendor/autoload.php时,编写器生成的自动加载配置为您处理所有的类自动配置。几乎所有遵循PSR-0的github库都存在于帕卡吉斯特上,从而使它们可以以这种方式安装。

您可能需要阅读语义版本化,以了解当您需要库时安装的内容。

大多数现代PHP框架现在都使用Composer作为它们的依赖项。然而,它仍然是完全可行的小项目,甚至一个文件。

票数 4
EN

Stack Overflow用户

发布于 2014-05-15 08:50:07

好吧,您没有使用自动装填机,所以类不会自动加载。

下面是一个使用PSR-0的最小自动加载实例

在理解了Autoloading之后,您应该尝试使用依赖关系管理框架,比如Composer。有关更多细节,请参见弗洛斯库勒斯氏答案。

票数 2
EN

Stack Overflow用户

发布于 2014-05-15 08:52:44

使用PSR-0自动加载器,您是将其添加到spl_autoload_register('autoload')中,还是使用composer和composers autoloader?

这对我来说很管用:

代码语言:javascript
复制
<?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/

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23673324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档