【问题标题】:Helper Function In LaravelLaravel 中的辅助函数
【发布时间】:2022-08-04 17:59:21
【问题描述】:

大家好,我尝试使用 Laravel 9.21.6 制作类似资产的辅助函数

这是我的代码

助手.php

<?php

function show_name() {
    return \'Ahmed Emmam\';
}

路由.php

Route::get(\'test-helper\' , function () {
    show_name();
});

作曲家.json

 \"autoload\": {
        \"psr-4\": {
            \"App\\\\\": \"app/\",
            \"Database\\\\Factories\\\\\": \"database/factories/\",
            \"Database\\\\Seeders\\\\\": \"database/seeders/\"
        }
    },
    \"files\" : [
    \"app/Helpers/Helper.php\"
],

错误是Call to undefined function show_name()

我跑了Composer dump-autoload,但它失败了

任何人都可以帮助我吗

  • 确保您的文件夹和 php 文件的名称正确。因为作曲家是区分大小写的。大写或小写字母可能存在一些问题。
  • 这些答案中没有一个对我有用

标签: composer-php


【解决方案1】:

您应该在autoload 字段中加载其他文件。

{
    "autoload": {
        "psr-4": { ... },
        "files": [
            "app/Helpers/Helper.php"
        ]
    }
}

https://getcomposer.org/doc/04-schema.md#files

【讨论】:

  • 它不起作用
  • @BexelX 这就是我在每个项目中加载文件的方式,所以它可以工作。您在autoload 字段之外写了files,这是错误的。如果您仍然有同样的问题,请检查文件路径并确保该文件存在。
【解决方案2】:

尝试使用function_exists函数

if (!function_exists('show_name')) {
    function show_name()
    {
        return 'Ahmed Emmam';
    }
}

【讨论】:

  • 这不能解决问题。如果在其他地方定义了一些名为show_name 的函数,它只会避免重复。
  • 它不起作用
猜你喜欢
  • 1970-01-01
  • 2016-01-06
  • 2015-12-07
  • 2015-04-13
  • 2014-04-19
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 2020-08-14
相关资源
最近更新 更多