Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法识别laravel中的自定义类_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 无法识别laravel中的自定义类

Php 无法识别laravel中的自定义类,php,laravel,laravel-5,Php,Laravel,Laravel 5,因此,我一直在尝试为所有自定义类创建一个自定义类文件,并将它们附加到其中,我使用名称空间来完成在控制器中使用它们,但是控制器无法识别该类 好: 这是我的自定义类文件,作为app/Library/robloxClasses.php namespace App\Library; class RobloxMaths{ public function sortArrayOfArray(&$array, $subfield) { $sortarray =

因此,我一直在尝试为所有自定义类创建一个自定义类文件,并将它们附加到其中,我使用名称空间来完成在控制器中使用它们,但是控制器无法识别该类

好:

这是我的自定义类文件,作为
app/Library/robloxClasses.php

namespace App\Library; 

class RobloxMaths{
    public function sortArrayOfArray(&$array, $subfield)
    {
            $sortarray = array();
            foreach ($array as $key => $row)
            {
                $sortarray[$key] = $row[$subfield];
            }

            array_multisort($sortarray, SORT_DESC, $array);
    }
}
Library
是我制作的一个文件夹,用于在其中存储所有自定义类文件

下面是我的控制器
ApiController
如何使用文件的名称空间

<?php

namespace App\Http\Controllers;

use App\Library\RobloxMaths;
use Illuminate\Http\Request;


class ApiController extends Controller
{

protected $RobloxClass;
    public function __construct(){
        $this->$RobloxClass= new RobloxMaths;
    }
}
?>
我真的不知道怎么了,请帮忙

注意:我尝试了composer update,它暂时修复了它,但在一两天后或在我安装了新的依赖项之后,它会通知我“App\Library\robloxMath”类未找到的情况发生了


请提供帮助

确保在composer.json文件中正确设置了psr-4自动加载根目录,并且文件/目录名(包括大写)完全匹配,然后运行
composer dump autoload

例如:

"autoload": {
    "psr-4": {
        "App\\": "app/"
    }
}
这将把根命名空间
App
分配给
App
文件夹

如果您使用的是IDE,则您的
很有可能使用
名称空间
语句,其中使用小写
app
自动生成以匹配目录名。由于IDE中的所有名称都正确连接,因此没有错误,但是当涉及到运行PHP脚本时,autoloader不会对您的文件执行一次
require | require\u
,因此您的类不可用

选项1(执行此操作)

确保您的命名空间具有与
composer.json
条目匹配的一致大写字母

选项2(为完成而编写)

确保将此根命名空间的新条目添加到
composer.json
文件中。对于上述示例,这将是:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "app\\": "app/"
    }
}

确保在composer.json文件中正确设置了psr-4自动加载根目录,并且文件/目录名完全匹配(包括大写),然后运行
composer dump autoload

例如:

"autoload": {
    "psr-4": {
        "App\\": "app/"
    }
}
这将把根命名空间
App
分配给
App
文件夹

如果您使用的是IDE,则您的
很有可能使用
名称空间
语句,其中使用小写
app
自动生成以匹配目录名。由于IDE中的所有名称都正确连接,因此没有错误,但是当涉及到运行PHP脚本时,autoloader不会对您的文件执行一次
require | require\u
,因此您的类不可用

选项1(执行此操作)

确保您的命名空间具有与
composer.json
条目匹配的一致大写字母

选项2(为完成而编写)

确保将此根命名空间的新条目添加到
composer.json
文件中。对于上述示例,这将是:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "app\\": "app/"
    }
}

你试过
composer dumpauto
?@baheg-请做
composer dumpautoload
一次,然后再试试……我试过了,但还是什么都没做你试过
composer dumpauto
?@baheg-请做
composer dumpautoload
一次,然后再试试……我试过,还是什么都没做