在 laravel 自己的包中创建自定义帮助程序

我正在编写一个用于 laravel 的新作曲家包,我想在其中定义我自己的辅助函数(辅助函数是在我自己的模块中定义的,而不是在 laravel 中,而是由 laravel 使用 - 请参阅helpers.php树中的以下)。


这是我的模块在一个新的 laravel 项目的根目录中的packages文件夹树:


└───majidalaeinia

    └───favicon

        │   composer.json

        │

        ├───src

        │   │   FaviconServiceProvider.php

        │   │

        │   ├───app

        │   │       helpers.php

        │   │

        │   └───routes

        │           web.php

        │

        └───vendor

            │   autoload.php

            │

            └───composer

                    autoload_classmap.php

                    autoload_files.php

                    autoload_namespaces.php

                    autoload_psr4.php

                    autoload_real.php

                    autoload_static.php

                    ClassLoader.php

                    installed.json

                    LICENSE

以下是majidalaeinia/favicon/composer.json内容:


{

    "name": "majidalaeinia/favicon",

    "description": "This is an educational package on favicon.",

    "license": "MIT",

    "authors": [

        {

            "name": "Majid Alaeinia",

            "email": "alaeinia.majid@gmail.com"

        }

    ],

    "minimum-stability": "dev",

    "require": {},

    "autoload": {

        "psr-4": {

            "majidalaeinia\\favicon\\": "src/"

        },

        "files": [

            "src/app/helpers.php"

        ]

    }

}

这是composer.jsonLaravel 项目本身的:


// ...

"autoload-dev": {

        "psr-4": {

            "Tests\\": "tests/",

            "majidalaeinia\\favicon\\": "packages/majidalaeinia/favicon/src"

        }

    },

// ...

我已经定义了一个助手,majidalaeinia/favicon/src/app/helpers.php并composer dumpautoload在 laravel 路由和我自己的项目上尝试了命令,但没有出现错误,但看不到我的助手的结果,dd()现在很简单。


我收到此错误:


调用未定义的函数 testtt()(视图:D:\projects\favicon\resources\views\welcome.blade.php)


我该怎么做才能在 laravel 项目的模块中使用我的自定义助手?


鸿蒙传说
浏览 148回答 1
1回答

墨色风雨

无法通过 composer 独立解决并使用我的包服务提供商。我将此代码添加到boot()我的方法中FaviconServiceProvider,现在可以使用了:if (File::exists(__DIR__ . '\app\helpers.php')) {            require __DIR__ . '\app\helpers.php';        }
打开App,查看更多内容
随时随地看视频慕课网APP