无法使用composer加载自定义文件

时间:2015-06-29 20:05:35

标签: php namespaces composer-php

我在classes目录所在的同一级别的根目录中有一个文件夹名vendor

classes文件夹中我有

等文件
  1. billing.php
  2. connection.php
  3. producer.php
  4. 所有这些类都有名称空间,例如

    // connection.php
    namespace Blah;
    class Connection {}
    
    // billing.php
    namespace Blah;
    class Billing{}
    

    我有一个index.php文件,我想在不使用requireinclude的情况下使用这些类。以下是我正在使用的composer.json文件。

    {
        "require": {
            "slim/slim": "^2.6",
            "zeuxisoo/slim-whoops": "0.3.0",
            "videlalvaro/php-amqplib": "v2.1.0"
        },
        "autoload": {
            "psr-4": {
                "Blah\\": "classes/"
            }
        }
    }
    

    我也运行composer dump-autload,但我无法加载这些类。在index.php上我得到了

    Class 'Blah\Connection' not found
    

    这是我的index.php代码:

    <?php
    // index.php
    require 'vendor/autoload.php';
    use Blah\Connection;
    
    $connection = Connection::getInstance();
    

    我在作曲家和命名空间方面相当新。需要指导我在这里做错了什么。感谢

1 个答案:

答案 0 :(得分:1)

问题是文件名区分大小写。如果您重命名文件Connection.php(而不是connection.php),它将解决您的问题