首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误:找不到‘Phean秸秆\Pheanstalk’类

致命错误:找不到‘Phean秸秆\Pheanstalk’类
EN

Stack Overflow用户
提问于 2016-05-21 23:15:38
回答 1查看 1.4K关注 0票数 0

我使用的是我和作曲家一起下载的一个名为Phean秸秆的库。我正在运行以下脚本:

代码语言:javascript
复制
<?php

//... some unrelated code

require_once('vendor/autoload.php');        //loading the autoload file from composer
use Pheanstalk\Pheanstalk;                  //using the namespace
$pheanstalk = new Pheanstalk('127.0.0.1');  //initiating an object

//... some unrelated code

?>

出现以下错误:

代码语言:javascript
复制
Fatal Error: Class 'Pheanstalk\Pheanstalk' not found in /opt/lampp/htdocs/project_zero/index.php on line 16

第16行为:$pheanstalk = new Pheanstalk('127.0.0.1');

问题:,为什么我会收到这个错误?上面的脚本基本上是从使用示例中复制出来的,给出了Pheanstalk页面:https://github.com/pda/pheanstalk

我的composer.json文件的内容如下:

代码语言:javascript
复制
{
  "require": {
    "pda/pheanstalk": "2.1.1"
  }
}

编辑:

使用时出现新错误:

代码语言:javascript
复制
use \Pheanstalk_Pheanstalk

错误:

代码语言:javascript
复制
Warning: The use statement with non-compound name 'Pheanstalk_Pheanstalk' has no effect in /opt/lampp/htdocs/project_zero/index.php on line 14

Fatal error: Class 'Pheanstalk' not found in /opt/lampp/htdocs/project_zero/index.php on line 17
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-21 23:38:23

根据您的composer.json,您使用的是2.1.1:https://github.com/pda/pheanstalk/blob/2.1/classes/Pheanstalk/Pheanstalk.php版本

类名是Pheanstalk_Pheanstalk而不是Pheanstalk\Pheanstalk:此时它不兼容PSR-4。

所以你应该用:

代码语言:javascript
复制
<?php
use \Pheanstalk_Pheanstalk;

当你在一个命名空间的文件中。如果在文件中不使用命名空间,则不需要“导入”类。

如果使用名称空间,反斜杠很重要,因为2.x版本中的类不是名称空间。

更新

所以你的代码应该是这样的:

代码语言:javascript
复制
<?php

//... some unrelated code

require_once('vendor/autoload.php');        //loading the autoload file from composer
$pheanstalk = new Pheanstalk_Pheanstalk('127.0.0.1');  //initiating an object

//... some unrelated code

?>

就这样。

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

https://stackoverflow.com/questions/37368944

复制
相关文章

相似问题

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