php - 我的作曲家自动加载文件不包含类
问题描述
我正在使用 using 和库创建一个REST API
,PHP
但是Composer
当coffeecode/datalayer
我尝试加载我的类时,我收到Class not found 错误,当我dump-autoload
在终端上键入时,我得到Generated autoload files contains 0 classes
作曲家.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
解决方案
dump-autoload
我通过使用-a
标志加载类解决了我的问题
推荐阅读
- python - gui中的maya python渐变和纹理缩略图视图
- java - XML 外部实体注入:Java 1.6 中的 Hp Fortify 问题
- html - 为嵌套 div 制作圆角
- c++ - Visual Studio 15 从 X86 迁移到 X64 资源编译错误
- angular - authToken 和访问令牌有什么区别
- struct - Cf-script 将查询结果转换为具有唯一键的结构?
- reactjs - 使用具有 2 个组件但都不相邻的 flexbox
- ruby-on-rails - 在活动管理员中记录所有用户活动的最佳方式
- azure - 尽管设置了频率,但 Azure SQL Sync 还是会消耗笔记本电脑的资源
- java - java charAt() 和 startsWith() 哪个更快?