首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Predis Autoloader不装载

Predis Autoloader不装载
EN

Stack Overflow用户
提问于 2015-05-31 11:13:23
回答 1查看 1.7K关注 0票数 0

我使用composer将外部库添加到我的项目中,包括Predis。

由于某些原因,Predis可能没有生成,我总是收到:

代码语言:javascript
复制
Class 'Predis\Autoloader' not found

因此,我深入到作曲家加载文件,并发现了一些奇怪的事情如下:

这是我的composer.json:

代码语言:javascript
复制
{
    "require": {
        "facebook/php-sdk": "@stable",
        "everyman/neo4jphp": "dev-master",
        "predis/predis": "1.1.*@dev",
        "aws/aws-sdk-php": "2.*"
    },

    "autoload": {
        "psr-0": {
            "PicoCore\\": "",
            "PicoCore\\Authentication\\" : "PicoCore/authentication",
            "PicoCore\\Aws\\" : "PicoCore/aws",
            "PicoCore\\Cache\\" : "PicoCore/cache",
            "PicoCore\\Database\\" : "PicoCore/database",
            "PicoCore\\Facebook\\" : "PicoCore/facebook",
            "PicoCore\\Objects\\" : "PicoCore/objects",
            "PicoCore\\Rest\\" : "PicoCore/rest",
            "PicoCore\\Configuration\\" : "PicoCore/configuration",
            "PicoCore\\Configuration\\Api\\" : "PicoCore/configuration/api",
            "PicoCore\\Scripts\\" : "PicoCore/scripts",
            "PicoCore\\Times" : "PicoCore/times"
        }
    }
}

现在,我想看看为Predis生成的名称空间是什么样的,所以我在composer文件夹中检查了autoload_par4.php,如下所示:

代码语言:javascript
复制
<?php

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
    'Predis\\' => array($vendorDir . '/predis/predis/PicoCore'),
);

现在,如果您注意到,您将看到Predis命名空间路径是/predis/predis/PicoCore

(PicoCore是我的应用程序名称空间)

/predis/predis/src

当我手动修改它时--它工作得很好,但问题是,每当我更新作曲家时,它就会再次这样做。

有什么想法吗?为什么或者从哪里走?为什么要添加我的项目名称?

顺便说一句,我查看了predis的composer.json并修改了它,现在它看起来如下:

代码语言:javascript
复制
{
    "name": "predis/predis",
    "type": "library",
    "description": "Flexible and feature-complete PHP client library for Redis",
    "keywords": ["nosql", "redis", "predis"],
    "homepage": "http://github.com/nrk/predis",
    "license": "MIT",
    "support": {
        "issues": "https://github.com/nrk/predis/issues"
    },
    "authors": [
        {
            "name": "Daniele Alessandri",
            "email": "suppakilla@gmail.com",
            "homepage": "http://clorophilla.net"
        }
    ],
    "require": {
        "php": ">=5.3.9"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.0"
    },
    "suggest": {
        "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol",
        "ext-curl": "Allows access to Webdis when paired with phpiredis"
    },
    "autoload": {
        "psr-4": {"Predis\\": "src/"}
    },
    "extra": {
        "branch-alias": {
            "dev-master": "1.1-dev"
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-31 12:22:10

问题是,我添加了以下的依赖项:

"predis/predis":"1.1.*@dev“

当我需要:

"predis/predis":"1.0.1“

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

https://stackoverflow.com/questions/30556728

复制
相关文章

相似问题

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