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
一次,然后再试试……我试过,还是什么都没做