作曲家:找不到课,找不到我错的地方

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作曲家:找不到课,找不到我错的地方相关的知识,希望对你有一定的参考价值。

我有一个php项目。

这是composer.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 no(今晚开始)。

Script.php文件夹下的app/models文件中

app | models Script.php

我需要我的2个库(domoticz-api和supportdate)

我有

<?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(sineverba domoticz-api的对象,发布在packagist上)被正确实例化,因此Fat Free Framework(我使用的框架)的自动加载模式正常工作。

您还可以在composer.json中看到domoticz-apisupportdate非常相似。

在我的网络服务器中,两个库的文件夹都正确地存在于/ vendor / sineverba / domoticz-api和/ vendor / sineverba / supportdate下

我也尝试在supportdate库中创建一个index.php

<?php

require("vendor/autoload");

$date = new sineverbasupportdateSupportDate();

它有效。

因此,我们可以排除库/编写器错误和F3框架错误(导致API被调用和实例化)。

感谢您的支持

答案

有时我在快速输入时无意中添加了不可打印的字符。您遇到的症状适合:

  1. 一个,但不是另一个类似的类工作,它排除了composer dump-autoload
  2. 它在另一个文件中输入时有效。

删除该行,然后慢慢重新输入会强制您的思想转储先前的假设并从头开始。如果存在不可打印的字符,案例差异或任何其他有时我们在开发过程中无视的奇怪问题,这可能会有所帮助。

以上是关于作曲家:找不到课,找不到我错的地方的主要内容,如果未能解决你的问题,请参考以下文章

代码片段 PHP,预期文件结尾,我错在哪里?

超越代码暴露 |暴露:在linux中找不到命令错误

作曲家找不到 composer.json

作曲家要求:找不到包

作曲家:找不到命令

text 找不到作曲家