首页 > 解决方案 > 我创建了 laravel 包并在其他项目中需要我的包。我在项目模型中使用包特征。但我收到此错误 => 未找到特征

问题描述

我创建了 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'
    ];
}

标签: phplaravellaravel-5composer-phppackagist

解决方案


您的命名空间不正确。您应该"kablanfatih\\encryption\\"在 composer.json 中替换为Encryption\\


推荐阅读