Класс не найден, когда я использую пространства имен - PullRequest
0 голосов
/ 29 марта 2019

Я новичок в пространствах имен, и я делаю тесты, но когда я запускаю app.php, я получаю следующую ошибку:

Неустранимая ошибка: класс 'ProtocoloWT \ models \ status' не найденв C: \ xampp \ htdocs \ wt.uptkd \ protocoloWt \ app.php

.

app.php

use Neomerx\JsonApi\Encoder\Encoder;
use Neomerx\JsonApi\Encoder\EncoderOptions;
use ProtocoloWT\models\status;

require '../vendor/autoload.php';

$status = status::instance(http_response_code(204));

$encoder = Encoder::instance([
    '\status' => '\statusEsquema',
], new EncoderOptions(JSON_PRETTY_PRINT, 'http://example.com/api/v1'));

echo $encoder->encodeData($status);

status.php

namespace ProtocoloWT\models;

class status
{
    public static function instance ($status)
    {
        $estado = new status();

        $estado->status = $status;

        return $estado;
    }
}

composer.json

{
  "name": "neomerx/json-api",
  "description": "Framework agnostic JSON API (jsonapi.org) implementation",
  "keywords": [
    "jsonapi.org",
    "json-api",
    "jsonapi",
    "neomerx",
    "json",
    "api"
  ],
  "homepage": "https://github.com/neomerx/json-api",
  "support": {
    "issues": "https://github.com/neomerx/json-api/issues"
  },
  "license": "Apache-2.0",
  "authors": [
    {
      "name": "neomerx",
      "email": "info@neomerx.com"
    }
  ],
  "require": {
    "php": ">=5.5.0",
    "psr/http-message": "^1.0",
    "psr/log": "^1.0"
  },
  "require-dev": {
    "phpunit/phpunit": "^4.6 || ^5.0 || ^6.0",
    "mockery/mockery": "~0.9.4",
    "scrutinizer/ocular": "^1.3",
    "squizlabs/php_codesniffer": "^2.5",
    "monolog/monolog": "^1.18",
    "phpmd/phpmd": "^2.6"
  },
  "minimum-stability": "stable",
  "autoload": {
    "psr-4": {
      "Neomerx\\JsonApi\\": "src/"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "Neomerx\\Tests\\JsonApi\\": "tests/",
      "Neomerx\\Samples\\JsonApi\\": "sample/"
    }
  },
  "scripts": {
    "test": ["@test-unit", "@test-cs", "@test-md"],
    "test-unit": "./vendor/phpunit/phpunit/phpunit --coverage-text",
    "test-unit-with-coverage": "phpdbg -qrr ./vendor/bin/phpunit --coverage-text",
    "test-cs": "./vendor/bin/phpcs -p -s --standard=PSR2 ./src ./tests",
    "test-md": "./vendor/bin/phpmd ./src text codesize,controversial,cleancode,design,unusedcode,naming",

    "perf-php": "docker-compose run --rm cli_php php /app/sample/sample.php -t=10000",
    "perf-hhvm": "docker-compose run --rm cli_hhvm hhvm /app/sample/sample.php -t=10000"
  }
}

Файл app.php находится в каталоге с именем protocoloWT/ иstatus.php находится в protocoloWT/models.

Я установил фреймворк с помощью composer, и я могу использовать эти пространства имен (Neomerx \ JsonApi), но я не могу создать свои собственные пространства имен в моих файлах, потому что я получаю эту ошибку,В чем может быть проблема?

PS: Извините за мой английский, я пытался объяснить это как можно лучше

...