Проблема пространства имен в модели в Laravel - Разработка пакетов - PullRequest
2 голосов
/ 29 октября 2019

Я разрабатываю пакет в laravel, который использует модель для операций CRUD.

Я также поместил его в packagist , но когда я пытаюсь установить его в приложении laravel и посетить маршрут, определенный пакетом, он говорит:

Класс 'Zusamarehan \ Tourify \ Model \ Tourifies' не найден

Ниже приведена структура папок моего пакета

  • rehan
    • tourify
      • src
        • активы
        • база данных
        • HTTP
        • Модель
          • Tourifies.php
        • ресурсы
        • маршруты
        • TourifyServiceProvider.php
        • composer.json

Ниже приводится содержимое моего 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 не загружаетсяЯ предполагаю? Я не уверен.

Кто-то может указать на ошибку?

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Пространства имен в ваших классах используют 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"
        }
    }
}

0 голосов
/ 29 октября 2019

"Zusamarehan\\tourify\\": "src" в вашем composer.json неверно. Нуждается в верхнем регистре T. Глядя на мой, у меня также есть трейлинг / после src, так что вы можете попробовать это тоже. У вас такая же строчная буква t в провайдере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...