我有一个php项目。
这是作曲家.json
{
"require": {
"bcosca/fatfree": "3.6.4",
"sineverba/domoticz-api": "^1.0",
"sineverba/supportdate":"dev-v1.0.0-alpha"
},
"repositories": [
{
"type": "vcs",
"url": "git@github.com:sineverba/supportdate.git"
}
]
}
sineverbadomotic-api
发表在Packagist上。sineverbasupportdate
不(今晚开始)。
在app/models
文件夹下的文件Script.php
app
| models
Script.php
我需要我的 2 个库(domoticz-api 和支持日期)
我有
<?php
/**
* Main script class
*
* @since 1.0.0
*/
namespace models;
use sineverbadomoticzapi as Api;
use sineverbasupportdate as Supportdate;
class Script() {
//some property here
public function __construct() {
$api = new ApiClient( $this->_user,$this->_password,$this->_host );
$date = new SupportdateSupportDate();
}
}
$api对象已正确创建。 $date我收到错误Class 'sineverbasupportdateSupportDate' not found
我也尝试过:
- 删除声明
use sineverbasupportdate as Supportdate;
- 直接拨打
$date = new sineverbasupportdateSupportDate()
如前所述,$api
(在packagist上发布的sineverba\domoticz-api的对象)被正确实例化,因此Fat Free Framework(我使用的框架)的自动加载模式正常工作。
您还可以看到 composer.json 中的domoticz-api
和supportdate
也非常相似。
在我的网络服务器中,两个库的文件夹都正确存在于/vendor/sineverba/domoticz-api 和/vendor/sineverba/supportdate 下
。我确实尝试在我的supportdate
库中创建一个索引.php
<?php
require("vendor/autoload");
$date = new sineverbasupportdateSupportDate();
它有效。
因此,我们可以排除库/作曲家错误和 F3 框架错误('cause API 被调用并实例化)。
感谢您的支持
有时我在快速打字时会无意中添加不可打印的字符。您遇到的症状适合:
- 一个,但不是另一个类似的类工作,它排除了作曲家转储自动加载
- 它在另一个文件中键入时有效。
删除该行,然后慢慢重新键入,迫使您的大脑抛弃先前的假设并从头开始。如果存在不可打印字符、大小写差异或任何其他我们在开发过程中有时视而不见的奇怪问题,这可能会很有帮助。