繁体   English   中英

Model 中的命名空间问题 Laravel - Package 开发

[英]Namespace issue in Model in Laravel - Package Development

我正在 laravel 中开发laravel ,它使用 model 进行 CRUD 操作。

我也把它放在了packagist中,但是当我尝试在 laravel 应用程序中安装它并访问由 package 定义的路由时,它说

Class 'Zusamarehan\Tourify\Model\Tourifies' 未找到

下面是我的package的文件夹结构

  • 热汗
    • 旅游化
      • 源代码
        • 资产
        • 数据库
        • Http
        • Model
          • Tourifies.php
        • 资源
        • 路线
        • TourifyServiceProvider.php
        • 作曲家.json

以下是我Tourifies的内容Tourifies.php

<?php
namespace Zusamarehan\Tourify\Model;

use Illuminate\Database\Eloquent\Model;

class Tourifies extends Model
{

}

以下是我的composer.json文件

{
    "name": "zusamarehan/tourify",
    "description": "A Package for adding Tour/Help to your Laravel Projects.",
    "keywords": ["laravel", "tour", "tourify", "product-tour", "product-help"],
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "zusamarehan",
            "email": "zrehan286@gmail.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3.0"
    },
    "extra": {
        "laravel": {
            "providers": [
                "Zusamarehan\\tourify\\TourifyServiceProvider"
            ]
        }
    },
    "autoload": {
        "psr-4": {
            "Zusamarehan\\tourify\\": "src"
        }
    }
}

我想 Model class 没有加载? 我不知道。

有人可以指出错误吗?

您的类中的命名空间使用Zusamarehan\Tourify ,但是,在您的composer.json中,您使用Zusamarehan\tourify 这些应该匹配。

您需要更新您的composer.json文件,以便命名空间使用正确的大小写:

{
    "name": "zusamarehan/tourify",
    "description": "A Package for adding Tour/Help to your Laravel Projects.",
    "keywords": ["laravel", "tour", "tourify", "product-tour", "product-help"],
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "zusamarehan",
            "email": "zrehan286@gmail.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3.0"
    },
    "extra": {
        "laravel": {
            "providers": [
                "Zusamarehan\\Tourify\\TourifyServiceProvider"
            ]
        }
    },
    "autoload": {
        "psr-4": {
            "Zusamarehan\\Tourify\\": "src"
        }
    }
}

"Zusamarehan\\tourify\\": "src"在您的composer.json中。json 是错误的。 需要大写T 看看我的,我在src之后也有一个尾随/ ,所以你也可以试试。 您在提供程序中有相同的小写t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM