Я пытаюсь разработать свой первый пакет, но я уже пытаюсь это сделать. Я следовал две обучающие программы и сделать все точно так, как описано, однако я получаю:Laravel 5.1 custom Provider не найден
класса '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/"
}
}
}
И мой Pr ovider Файл:
<?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 я пошел в мою корневой папку проекта и сделал композитора дамп-автозагрузку
Кроме того, я убедился, что я добавил 'Krenor\Ldap\LdapServiceProvider'
поставщик
массива в /config/app.php.
Я что-то упустил?
Ваш файл LdapServiceProvider.php должен находиться в правильной папке в качестве пространства имен. В этом случае должно быть 'src/Krenor/Ldap/LdapServiceProvider.php' – yangqi
Istn't мой раздел psr4, уже указывающий с пространством имен« Krenor/LDAP »в папку src /? – Krenor
эта строка указывает базовый каталог пространства имен 'Krenor/Ldap', который является' src/'. И начиная с базовой линии, у вас должна быть правильная структура, о чем я говорил ранее. – yangqi