我创建了 laravel 包并在其他项目中需要我的包。我在项目模型中使用包特征。但我收到此错误 => 未找到特征
Posted
技术标签:
【中文标题】我创建了 laravel 包并在其他项目中需要我的包。我在项目模型中使用包特征。但我收到此错误 => 未找到特征【英文标题】:I created laravel package and required my package in other project.I use package trait in project model. But i get this error => Trait not found 【发布时间】:2020-03-01 20:33:48 【问题描述】:我创建了 laravel 包并在其他项目中需要我的包。我在项目模型中使用包特征。
但我得到这个错误 =>
Symfony\Component\Debug\Exception\FatalErrorException : 特性 'Encryption\Src\Encryptable' 未找到
我加载包github你可以看到这个链接=>
https://github.com/kablanfatih/encryption
"name": "kablanfatih/encryption",
"description": "A package for automatically encrypting and decrypting Eloquent attributes in Laravel , based on configuration settings.",
"type": "library",
"license": "MIT",
"authors": [
"name": "kablanfatih",
"email": "kablanfatih34@gmail.com"
],
"minimum-stability": "dev",
"require": ,
"autoload":
"psr-4":
"kablanfatih\\encryption\\": "../encryption"
,
"autoload-dev":
"psr-4":
"kablanfatih\\encryption\\": "../encryption/",
"Tests\\": "tests"
,
"extra":
"laravel":
"providers": [
"Barryvdh\\Debugbar\\ServiceProvider"
],
"aliases":
"Debugbar": "Barryvdh\\Debugbar\\Facade"
,
"require-dev":
"barryvdh/laravel-debugbar": "^3.2@dev"
<?php
namespace App\Models;
use Encryption\Src\Encryptable;
use Illuminate\Database\Eloquent\Model;
class Question extends Model
use Encryptable;
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'questions';
/**
* The attributes that are mass assignable.
* @var array
*/
protected $fillable = [
'question', 'incorrect1', 'incorrect2', 'incorrect3', 'incorrect4', 'correct'
];
/**
* The attributes that are encrypted.
*
* @var array
*/
protected $encrypted = [
'question'
];
【问题讨论】:
您能否更新问题以包括特征和调用它的类? 你做了composer dumpautoload
吗?
我做了 composer dump-autoload , php artisan 优化和 config:clear but notsolved
【参考方案1】:
您的命名空间不正确。
您应该将 composer.json 中的 "kablanfatih\\encryption\\"
替换为 Encryption\\
【讨论】:
感谢命名空间更改和修复以上是关于我创建了 laravel 包并在其他项目中需要我的包。我在项目模型中使用包特征。但我收到此错误 => 未找到特征的主要内容,如果未能解决你的问题,请参考以下文章