【问题标题】:Laravel external class filesLaravel 外部类文件
【发布时间】:2019-08-13 20:00:05
【问题描述】:

我有一个文件放在app\Classes\myVendor\dev_client_api.php 中。该文件中有一个类:

class someClass{
   //stuff
}

我想在控制器中使用这个类。

在我的控制器中,我做了以下事情:

namespace App\Classes\myVendor;
use dev_client_api;

class myController extends Controller
{
    ///stuff
    public function processData(Request $request){
       $client = new someClass($vars);
    }
}

当我执行这个页面时,我得到:

找不到类“App\Classes\myVendor\Controller”

我不得不承认我不确定我到底在做什么。任何帮助都会很棒。

【问题讨论】:

  • 您的文件夹似乎是“类”,而不是您在命名空间中指定的“类”,这是一个帖子错字吗?检查一下。
  • 这是一个错字。对不起
  • 你的控制器在那个文件夹里吗?如果没有,为什么要在其中添加名称空间?该命名空间 (namespace App\Classes\myVendor;) 应该在 dev_client_api.php 中,而不是在控制器中。这就是为什么它没有找到您正在扩展的基本控制器(我假设这是基于您的错误)。
  • 我建议阅读 PHP PSR-1PSR-2。你可能还想阅读 Laravel 文档。遵循常见的编码约定可以防止这样的错误。
  • dev_client_api.php有几节课?

标签: php laravel class namespaces


【解决方案1】:

我假设你的控制器在 Laravel 的默认 App\Http\Controller 目录中。

namespace App\Classes\myVendor;

class someClass {
   //stuff
}

namespace App\Http\Controllers;
use App\Classes\myVendor\someClass;

class myController extends Controller
{
    ///stuff
    public function processData(Request $request){
       $client = new someClass($vars);
    }
}

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2016-05-07
    • 2021-08-19
    • 2016-11-07
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多