在Slim PHP中引用一个自定义编写器包


Referencing a custom composer package in Slim PHP

我想弄清楚如何使用composer引用自定义类

我的作曲家。Json文件看起来像这样:

{
    "name": "adtools_api",
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "qz/adtools_middleware",
                "version": "dev-master",
                "source": {
                    "url": "repo-name",
                    "type": "git",
                    "reference": "master"
                }
            }
        }
    ],
   "require": {
       "slim/slim": "2.*",
       "qz/adtools_middleware": "src/"
   }
}

和文件夹结构看起来像这样:

app
    routes
    vendor
        composer
        qz
            adtools_middleware
                src
                    hello-world.php
        slim
    composer.json
    index.php

我试图引用hello-world.php文件,它看起来像这样:

<?php
namespace HelloWorld;
class SayHello
{
    public static function world()
    {
        return 'Hello World, Composer!';
    }
}
?>

在index.php文件中,我试图像这样引用类:

$hello = new HelloWorld'SayHello();

但得到一个错误告诉我"致命错误:类'HelloWorld'SayHello'未在…"

如果有人能给我指个方向就太好了!谢谢你!

您可以检查vendor文件夹中的autoload,看看您的HelloWorld命名空间是否已加载?

如果没有,您可能需要将autoload属性添加到composer.json文件中,如下所示

{
  "autoload": {
    "psr-0": {"HelloWorld": "qz/adtools_middleware/src/"}
},

在项目中加载HelloWorld命名空间