【发布时间】:2020-02-22 10:44:16
【问题描述】:
我不是网络开发人员(我是移动开发人员)并试图解决这个问题。
按照 composer 网站上的文档,我在我的机器上安装了“composer”。
我已使用以下命令在 #1 中安装了库:'php composer.phar require ktamas77/firebase-php dev-master'
-
在我项目的某个屏幕或 php 文件中,我添加了这个:
$firebase = new \Firebase\FirebaseLib(DEFAULT_URL, DEFAULT_TOKEN);
当我运行或进入该特定屏幕时,会出现如下错误:
消息:找不到类“Firebase\FirebaseLib”
我的问题是:为什么会这样?为什么这个怪异的 php 项目找不到 FirebaseLib?我可以验证我的项目中是否有这样的文件,因为我可以从上面的代码中打开该文件。
那个文件的路径是这样的:
'/Applications/MAMP/htdocs/xxx-cms/vendor/ktamas77/firebase-php/src/firebaseLib.php'
是否需要在我的 php 文件顶部添加“require”?
我尝试添加 require,但添加时出现错误。
最后,我什至修改了我的 composer.json 并按照此处的建议添加了“自动加载”:How does PHP connection to firebase work?
{
"description": "The CodeIgniter framework",
"name": "codeigniter/framework",
"type": "project",
"homepage": "https://codeigniter.com",
"license": "MIT",
"support": {
"forum": "http://forum.codeigniter.com/",
"wiki": "https://github.com/bcit-ci/CodeIgniter/wiki",
"irc": "irc://irc.freenode.net/codeigniter",
"source": "https://github.com/bcit-ci/CodeIgniter"
},
"require": {
"php": ">=5.2.4",
"ktamas77/firebase-php": "dev-master"
},
"suggest": {
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
},
"require-dev": {
"mikey179/vfsStream": "1.1.*"
},
"autoload": {
"classmap": ["vendor/ktamas77/firebase-php/src/firebaseLib.php"]
"files": ["vendor/ktamas77/firebase-php/src/firebaseLib.php"]
}
}
不幸的是,我无法从那个 SO 答案中执行此指令:
然后简单地用 require 来 require Composer 的 Autoloader “供应商/autoload.php”;和新的 Firebase 来自动加载类。
谢谢。
【问题讨论】:
-
您是否将
require "vendor/autoload.php";添加到相应的脚本中? -
对不起,我应该在哪里“添加”该行,什么是“适当的脚本”?我到了 composer.json,我在我的供应商文件夹中找到了“autoload.php”文件。我应该在 autoload.php 中还是在 composer.json 中输入一些东西?
-
噢噢噢噢噢噢噢噢!!!我明白你了现在!!!我在我的 php 文件(我的屏幕)中添加了行 require 'vendor/autoload.php' 哦天啊!!!!太感谢了。将其作为答案,我会将其标记为答案。
标签: php firebase composer-php