代码之家  ›  专栏  ›  技术社区  ›  Majid Alaeinia georak

在laravel中自己的包中创建自定义助手

  •  1
  • Majid Alaeinia georak  · 技术社区  · 6 年前

    helpers.php 在下面的树上)。

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

    └───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.json laravel项目本身:

    // ...
    "autoload-dev": {
            "psr-4": {
                "Tests\\": "tests/",
                "majidalaeinia\\favicon\\": "packages/majidalaeinia/favicon/src"
            }
        },
    // ...
    

    我在中定义了一个助手 majidalaeinia/favicon/src/app/helpers.php composer dumpautoload 命令和我自己的项目,得到没有错误,但看不到我的助手这是一个简单的结果 dd()

    我得到这个错误:

    0 回复  |  直到 6 年前
        1
  •  0
  •   Majid Alaeinia georak    6 年前

    无法由composer独立解决此问题,并使用了我的包服务提供商。 boot() FaviconServiceProvider 它现在起作用了:

    if (File::exists(__DIR__ . '\app\helpers.php')) {
                require __DIR__ . '\app\helpers.php';
            }