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

问题描述 投票:0回答:1

我有一个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":  "[email protected]:sineverba/supportdate.git"
        }
    ]
}

sineverba\domotic-api发表于packagist。 sineverba\supportdate no(今晚开始)。

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

app | models Script.php

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

我有

<?php

/**
 * Main script class
 * 
 * @since 1.0.0
 */

namespace models;
use \sineverba\domoticzapi as Api;
use \sineverba\supportdate as Supportdate;

class Script() {

    //some property here

    public function __construct() {

        $api = new Api\Client( $this->_user,$this->_password,$this->_host );
        $date = new Supportdate\SupportDate();

    }
}

$ api对象已正确创建。 $ date我收到错误Class 'sineverba\supportdate\SupportDate' not found

我也尝试过:

  • 删除声明use \sineverba\supportdate as Supportdate;
  • 直接致电$date = new \sineverba\supportdate\SupportDate()

如上所述,$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 \sineverba\supportdate\SupportDate();

它有效。

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

感谢您的支持

php composer-php
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.