我正在尝试开发我的第一个软件包,但我已经在努力这样做了。我遵循了两个教程并完全按照描述完成了所有操作,但是我得到:
类"KrenorLdapLdapServiceProvider"未找到
文件夹结构:
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 KrenorLdap;
use IlluminateSupportServiceProvider;
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
此外,我还确保将'KrenorLdapLdapServiceProvider'
添加到providers
中/config/app.php.
我错过了什么吗?
(对不起,我的英语很差…)
你的自动加载部分(在composer.json中)有错误的路径
:
"Krenor\Ldap\": "src/"
必须"Krenor\Ldap\": "packages/krenor/ldap-auth/src"
这是为作曲家。Json在您的包中开发。之后,当你上传到packagist(或替代),你或任何人安装它们时,命名空间将指向"src",但你不需要写这个…