我正在尝试在laravel 5.0中添加libraries文件夹。我尝试遵循以下步骤链接但我犯了一个错误。
Class 'Libraries'Myclass' not found
这是我的composer.json
{
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App''": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php",
"app/Libraries"
]
},
"scripts": {
"post-root-package-install": [
"php -r '"copy('.env.example', '.env');'""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate''Foundation''ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate''Foundation''ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
请参阅自动加载dev。我添加了我的库(应用程序/库(文件夹,然后运行此命令composer dump autoload这是Libraries/Myclass.php 中我的类代码
namespace Libraries'Myclass;
class Myclass{
public function hello(){
echo "hello world";
}
}
我不知道我的代码是否足够好。如果我弄错了,请纠正我。我正在尝试在laravel 5中探索更多内容。
{
"autoload": {
"classmap": [
"database"
],
"files": [
"app/Libraries"
],
"psr-4": {
"App''": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php",
]
},
"scripts": {
"post-root-package-install": [
"php -r '"copy('.env.example', '.env');'""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate''Foundation''ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate''Foundation''ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
}
}
运行composer dump-autoload
命令并使用库。
我也遇到过类似的情况,并想出了一个干净的方法(在我看来(。我正在使用Laravel 5.4。我的班级被命名为"Ldap",以下是我的做法。
-
在应用程序下创建了Libraries目录,并添加了我的类文件:
app/Ldap.php(具有Libraries''Ldap命名空间(
-
在composer.json文件中,
"autoload": { ... "classmap": [ "database", "app/Libraries" <------------ Added libraries directory ], ... }
-
去了终端并运行了这个命令:composer dump autoload
-
打开了aap/config/app.php文件,并在"别名"下添加了以下代码:
'aliases' => [ ... 'Ldap' => 'Libraries'Ldap'Ldap::class <--- Added this line ],
-
现在在我的控制器中,我只是实例化我的类:
// Ldap class object $ldapObj = new Ldap();
它就像一个符咒!拉拉韦林快乐!
对于laravel 8,以下方法有效:
在composer.json
:中
"autoload": {
"psr-4": {
"App''": "app/",
"Database''Factories''": "database/factories/",
"Database''Seeders''": "database/seeders/",
"Lib''": "lib/" <------- Add this
}
},
然后运行composer dump-autoload