You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel自定义类找不到求助:App\Translators\MyOwnClass加载失败

问题描述

我在App目录下创建了Translators文件夹,其中包含MyOwnClass.php文件,代码如下:

<?
    
    namespace App\Translators;
    
    
    class MyOwnClass{
    
        public function home()    {
            dd("Hello World);
        }

    }

在需要使用该类的MachineController中已引入并实例化:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Translators\MyOwnClass;


class MachineController extends Controller
{
    public function home(){

        $machine = (New MyOwnClass);
    }
}

已执行composer dump-autoload命令,且composer.json的autoload配置如下:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},

但访问MachineController::home时仍报错:

Class "App\Translators\MyOwnClass" not found

请问我遗漏了什么?

排查与解决步骤
  • 检查文件与目录的大小写:Laravel严格遵循PSR-4规范,类名、文件名、目录名的大小写必须完全匹配。如果服务器是Linux系统(区分大小写),要确保目录是app/Translators(首字母大写),文件是MyOwnClass.php,避免出现小写的translators目录或myownclass.php文件。
  • 修复代码语法错误:MyOwnClass.php里的dd("Hello World);缺少闭合双引号,应改为dd("Hello World");。语法错误会导致文件解析失败,进而让类无法被正确加载。
  • 确认文件路径正确性:务必保证MyOwnClass.php确实在app/Translators/目录下,不要误放到app/Http/Translators或其他子目录中。
  • 重新优化自动加载:执行composer dump-autoload -o(-o参数用于优化自动加载),强制Composer更新自动加载映射文件,避免缓存影响。
  • 核对命名空间与类名拼写:检查命名空间App\Translators和类名MyOwnClass是否存在拼写错误,比如把Translators写成Translator,或类名多写/漏写字母。

内容的提问来源于stack exchange,提问作者Stefano Martini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:55:05