【问题标题】:Undefined Type after installing Php Package安装 PHP 包后未定义类型
【发布时间】:2021-07-15 12:41:35
【问题描述】:

我对 PHP 很陌生。我正在尝试安装kreait/firebase-php 库所以我安装了作曲家,我做了composer require kreait/firebase-php

之后我尝试在我的一个 php 文件中导入库,如下所示

use Kreait\Firebase\Factory;
$factory = (new Factory)
    ->withServiceAccount('/path/to/firebase_credentials.json')
    ->withDatabaseUri('https://my-project-default-rtdb.firebaseio.com');

但我不断得到 在 VS Code 中未定义类型 'Kreait\Firebase\Factory'.intelephense(1009)

请问,接下来我该怎么做?我正在使用 php 8.0.1

【问题讨论】:

  • 请分享更多详细信息 - 您从哪里“得到”这些信息?

标签: php


【解决方案1】:

您似乎忘记包含 Composer 的 autoloading mechanism


require 'path/to/vendor/autoload.php';

use Kreait\Firebase\Factory;

$factory = (new Factory)
    ->withServiceAccount('/path/to/firebase_credentials.json')
    ->withDatabaseUri('https://my-project-default-rtdb.firebaseio.com');

对于use,似乎存在一个普遍的误解。虽然它确实将 已经加载 类从其原始类导入到当前命名空间中,但您可以通过其所谓的非限定名而不是限定名来引用它(FactoryKreait\Firebase\Factory,在您的情况下),它实际上并没有从其物理位置导入类(即,它不处理文件系统) - 这就是自动加载器的用途:

对于您收到的错误消息,请参阅:

【讨论】:

    猜你喜欢
    • 2020-09-12
    • 2018-07-29
    • 2018-08-24
    • 1970-01-01
    • 2020-08-31
    • 2016-10-05
    • 2022-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多