Laravel 5.2使用自定义控制器特性

时间:2016-05-27 17:55:07

标签: namespaces laravel-5.2 traits

我想将Trait目录中存储的自定义app用于我的控制器。但是我总是得到这样的信息:

  

未找到特质'app \ MessageTrait'

我的控制器:

namespace app\Http\Controllers;

use Illuminate\Http\Request;
use Auth;
use app\Http\Requests;
use app\User;
use app\MessageTrait;

class login extends Controller{
    use MessageTrait;
    public function index(Request $request){
        return back();
    }
}

我的MessageTrait包含在应用目录中的MessageTrait.php中。代码如下所示:

我的特质:

trait MessageTrait{
    public function success(){
        return 'success';
    }
    public function error($message){
        return 'error';
    }
}

首先我认为它可能是Namespace问题 - 然而,使用与User相同的命名空间可以找到MessageTrait类。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我通过将namespace app添加到我的Trait文件的顶行来解决了这个问题。一切都按预期工作了!