找不到Laravel 5.1自定义提供程序


Laravel 5.1 custom Provider not found

我正在尝试开发我的第一个软件包,但我已经在努力这样做了。我遵循了两个教程并完全按照描述完成了所有操作,但是我得到:

类"Krenor'Ldap'LdapServiceProvider"未找到

文件夹结构:

project
- app  
- ...
- packages
-- krenor
--- ldap-auth
---- src
----- LdapServiceProvider.php (within src/)
---- composer.json (outside src/)

我的编辑器文件看起来像这样:

{
    "name": "krenor/ldap-auth",
    "description": "Authentication via LDAP and Laravel 5.1.x",
    "type": "project",
    "license": "MIT",
    "authors": [
        {"name": "MyName","email": "MyMail"}
    ],
    "require": {
        "php": ">=5.5",
        "laravel/framework": "5.1.*"
    },
    "autoload": {
      "psr-4": {
        "Krenor''Ldap''": "src/"
      }
    }
}

And my Provider File:

<?php
namespace Krenor'Ldap;
use Illuminate'Support'ServiceProvider;
class LdapServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        dd('I am alive');
    }
    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        dd('I am alive, too!');
    }
}

创建json文件后,我进入我的项目根文件夹并执行composer dump- autolload
此外,我还确保将'Krenor'Ldap'LdapServiceProvider'添加到providers
中/config/app.php.

我错过了什么吗?

(对不起,我的英语很差…)

你的自动加载部分(在composer.json中)有错误的路径

:

"Krenor''Ldap''": "src/"
必须

"Krenor''Ldap''": "packages/krenor/ldap-auth/src"

这是为作曲家。Json在您的包中开发。之后,当你上传到packagist(或替代),你或任何人安装它们时,命名空间将指向"src",但你不需要写这个…