我在laravel环境中使用特征时遇到了问题。
我试图通过laravel中的模型访问该特征并且发现特征未找到错误。下面是我的特性,它存储在app \ Traits文件夹中,名为testTrait.php
<?php
namespace App\Traits;
trait test{
public function printTest()
{
$test = 'test';
return $test;
}
}
这是我用来尝试访问它的模型,它存储在app \ Models文件夹中,否则工作正常而不尝试使用特征
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Traits\testTrait;
class Home extends Model
{
use testTrait;
public function someMethod()
{
/*
something here
*/
}
}
我认为它可能与命名空间有关,而且我必须分配App \ Models命名空间,但即使我更改或删除它也不起作用。
答案 0 :(得分:3)
您的文件可能会被命名为testTrait.php
,但您已将该文件中的 trait 称为普通test
。
trait test { ... }
将其重命名为testTrait
文件中的testTrait.php
。
trait testTrait { ... }
答案 1 :(得分:0)
您已将特征定义为trait test{
,但在您的模型中,您使用了错误的特征名称use testTrait;
将其更改为
use test;