Kreait Firebase 存储 createStorage() 错误

问题描述

我想创建一个使用 Kreait 将图像上传到 Firebase 存储的功能,我不使用任何类型的框架,只是原始 PHP。我浏览了 Kreait documentation 并且他们提供了有关如何初始化它的代码,所以我这样做了

$factory = (new Factory)->withServiceAccount($serviceAccount);
$this->storage = $factory->createStorage();

但它在我的 IDE 中的 createStorage() 上给出了一个红色下划线,表示 “Member has protected access”。 我该怎么办?

谢谢

解决方法

createStorage() 方法在库的早期 4.x 版本中受到保护,并在以后的版本中开放。基于此,我假设您使用的是旧的 4.x 版本的库。

请检查您的 composer.json 中的条目 kreait/firebase-php,并确保版本约束未固定到特定版本。

很遗憾,您没有分享很多信息,但举个例子,如果您的 composer.json 阅读了

"kreait/firebase-php": "4.11"

改成

"kreait/firebase-php": "^4.11"

(注意前导插入符 ^)这将允许安装最新的 4.x 版本,并且 createStorage() 方法将可用。

您链接到的文档指向最新的稳定版本,在撰写本文时当前为 5.14.0。如果您使用的是 PHP 7.2 或更新版本,我强烈建议您使用最新的 5.x 版本的库:

"kreait/firebase-php": "^5.14"

如果您选择继续使用 4.x 版本,则最新版本为 4.44,您可以在 https://firebase-php.readthedocs.io/en/4.44.0/

找到相关文档

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...