如何在 Laravel5 中使用我的包

Posted

技术标签:

【中文标题】如何在 Laravel5 中使用我的包【英文标题】:How to use my Package in Laravel5 【发布时间】:2015-07-11 18:40:50 【问题描述】:

我有一个关于 Laravel 5 包的问题。我正在创建一个包并尝试使用它。包成功创建并使用作曲家我也可以在 New Laravel 设置中得到它,问题是当我尝试使用它时它说找不到类。这是我的 composer.json 和我遵循的步骤:

例如my username = git_test and packagename = mypackage

我的包结构:

**git_test > mypackage > src

我的 composer.json 文件


    "name": "git_test/mypackage",
    "description": "XXXXXXXXXX",
    "keywords": ["laravel"],
    "license": "MIT",
    "authors": [
        
            "name": "XXXXXXX",
            "email": "XXXXXX@gmail.com"
        
    ],
    "require": 
        "php": ">=5.4.0",
        "illuminate/support": "5.0.*"
    ,
    "autoload": 
        "psr-4": 
            "git_test\\mypackage\\": "src/"
        
    ,
    "minimum-stability": "dev"

这是我的 src/myclass.php

namespace git_test\mypackage;

class myclass 
    function test() echo "This is Test"; 

现在我要在我的新 laravel 项目中使用它,所以我在我的目录作曲家中添加包并尝试在我的 HomeController 中使用 myclass

HomeController 代码

use git_test\mypackage\myclass  as TaskClass;

class HomeController extends Controller 

   public function index()
    
            $atTaskObj = new TaskClass('');
    

我收到了类似"git_test\mypackage\myclass" Not Found 的错误。我在哪里做错了?请有任何建议。

提前致谢!!!

【问题讨论】:

任何帮助都非常感谢!! 确保您的myclass 工作正常。为它写一个测试。试试php artisan dump-autoloadcomposer dump-autoload 【参考方案1】:

PSR-4 路径必须以 \\ 结尾:

"autoload": 
    "psr-4": 
        "git_test\\mypackage\\": "src/"
    
,

【讨论】:

以上是关于如何在 Laravel5 中使用我的包的主要内容,如果未能解决你的问题,请参考以下文章

将迁移放在 Laravel 5.1 包中的啥位置?

如何在我的 .js 文件中使用 npm 安装的包? [复制]

如何更改 Laravel5 中的视图文件夹?

如何在 Julia 中找到我的包版本?

如何使用 laravel 6 在我的包中使用 auth 进行自定义防护?

如何在我的 Laravel 5 应用程序中使用 Illuminate\Support\Str::slug?