Я создаю REST API
с PHP
, используя Composer
и coffeecode/datalayer
библиотеку, но когда я пытаюсь загрузить свой класс, я получаю Класс не найден и когда я печатаю dump-autoload
на терминале я получаю Сгенерированные файлы автозагрузки, содержащие 0 классов
composer. json
{
"name": "bruno_monteiro/restapi_php",
"description": "Simple PHP REST API",
"type": "project",
"require": {
"coffeecode/datalayer": "1.1.*"
},
"license": "MIT",
"authors": [
{
"name": "Bruno Monteiro",
"email": ""
}
],
"minimum-stability": "stable",
"autoload": {
"psr-4": {
"Source\\": "source/"
}
}
}
Модель
namespace Source\Models;
final class Validations{
...
}
Контроллер (там, где возникает ошибка)
namespace Source\Controllers;
require "../../vendor/autoload.php";
require "../Config.php";
use Source\Models\Validations;
switch($_SERVER["REQUEST_METHOD"]){
case "POST":
$data = json_decode(file_get_contents("php://input"), false);
if(!$data){
header("HTTP/1.1 400 Bad Request");
echo json_encode(array(
"response"=>"Nenhum dado informado"
));
exit;
}
$errors = array();
if(!Validations::validateString($data->first_name)){
array_push($errors, "Nome informado inválido");
}
...
Структура каталогов
│ composer.json
│ composer.lock
│ Script.sql
│
├───source
│ │ Config.php
│ │
│ ├───Controllers
│ │ User.php
│ │
│ └───Models
│ User.php
│ Validations.php
│
└───vendor
│ autoload.php
│
├───coffeecode
│ └───datalayer
│ │ composer.json
│ │ CONTRIBUTING.md
│ │ LICENSE
│ │ README.md
│ │
│ ├───example
│ │ │ db_config.php
│ │ │ destroy_example.php
│ │ │ find_example.php
│ │ │ pdo_example.php
│ │ │ save_example.php
│ │ │
│ │ └───Models
│ │ Address.php
│ │ User.php
│ │
│ └───src
│ Connect.php
│ CrudTrait.php
│ DataLayer.php
│
└───composer
autoload_classmap.php
autoload_namespaces.php
autoload_psr4.php
autoload_real.php
autoload_static.php
ClassLoader.php
installed.json
LICENSE