Laravel |找不到类

时间:2019-08-20 13:08:20

标签: laravel

我希望在laravel项目中将一个具有两个函数的外部类整数。该外部类用于电子支付。

我在\ App中创建了一个名为 xxx 的新文件夹,然后是名为 xxx.php 的php文件。

我的道路是 \App\xxx\xxx.php

当我想使用以下代码在 XController 中调用此类时:

<?php
namespace App\Http\Controllers;
use App\xxx\xxx;
class XController extends Controller
{
   public function Send(Request $request){
   $function = new xxx;
   };
}

出现错误:找不到类'App \ xxx \ xxx'

我的xxx.php代码是这样的:

<?php
 namespace App;
class xxx
{
 public function function($data)
 {
    return ;
 }
}

我的路线:

Route::get('/send', 'XController@Send');

提前谢谢!

3 个答案:

答案 0 :(得分:2)

更正类文件Xxx.php中的命名空间

<?php
namespace App\Xxx;

class Xxx
{
    public function function($data)
    {
        return ;
    }
}

并在控制台中运行此命令

composer dump-autoload

答案 1 :(得分:2)

Laravel使用PSR-4自动加载功能,因此您应确保将类和文件夹大写。您可以在此处阅读有关PSR-4的更多信息-https://www.php-fig.org/psr/psr-4/

在您的情况下,文件夹应为Xxx而不是xxx,文件的名称应为Xxx而不是xxx

同时,您还需要更新Xxx.php文件上的名称空间:

<?php
namespace App\Xxx;

class Xxx
{
 public function function($data)
 {
    return ;
 }
}

然后,您可以在控制器中更新use语句和方法。

<?php
namespace App\Http\Controllers;
use App\Xxx\Xxx;

class XController extends Controller
{
   public function Send(Request $request){
       $function = new Xxx;
   }
}

我希望这会有所帮助。

答案 2 :(得分:1)

xxx.php 中的

应该是这样的:

 namespace App\folderName;     // App\xxx;

然后运行

   php artisan config:cache;