Php 自定义类和服务提供程序-Laravel 5.4
我尝试在Laravel5.4中创建一个新的自定义类来检查用户类型 我将这个新类添加到一个新文件夹app\ItSolution,代码:Php 自定义类和服务提供程序-Laravel 5.4,php,laravel,laravel-5,laravel-5.4,Php,Laravel,Laravel 5,Laravel 5.4,我尝试在Laravel5.4中创建一个新的自定义类来检查用户类型 我将这个新类添加到一个新文件夹app\ItSolution,代码: <?php namespace App\ItSolution; class DemoClass { public function getPermission() { switch(Auth::user()->user_type_id) { case 1: retu
<?php
namespace App\ItSolution;
class DemoClass {
public function getPermission() {
switch(Auth::user()->user_type_id) {
case 1:
return 'admin';
break;
case 2:
return 'promoter';
break;
case 3:
return 'customer';
break;
default:
return false;
}
}
}
<?php
namespace App\ItSolution;
use Illuminate\Support\Facades\Facade;
class DemoClassFacade extends Facade {
protected static function getFacadeAccessor() { return 'democlass'; }
}
但是,当我尝试在控制器中使用DemoClass别名时,出现了此错误
DemoClass::getPermission():
找不到类“App\Http\Controllers\DemoClass”
Thnaks,我该如何解决这个问题。您将此类注册为facade,因此需要将其添加到类的开头:
use DemoClass;
或者,您可以在使用facade时使用完整名称空间:
\DemoClass::
在Laravel5.4中,注册门面不需要服务提供商,可以使用自动Facades,只需定义DemoClass i、 e在控制器中:
use Facades\ {
App\ItSolution\DemoClass
};
并调用该函数
DemoClass::getPermission()
Source非常感谢,这是一项工作,但是你知道如何使用视图中的外观吗?谢谢。@MalekBenelouafi我使用的是助手而不是facades,所以我不是100%确定,但请尝试将它与完整的命名空间一起使用
\DemoClass::
。
use Facades\ {
App\ItSolution\DemoClass
};
DemoClass::getPermission()