【问题标题】:laravel 7 , blade file can not find function [duplicate]laravel 7,刀片文件找不到功能[重复]
【发布时间】:2021-08-23 11:37:25
【问题描述】:

我继承了一些遗留代码,我正试图让它在开发服务器上工作。它在产品服务器上运行良好。我是 laravel 菜鸟。

我几乎一切正常。 (我已锁定 composer.json 中的所有版本,以匹配工作站点)

最后失败的是这一行:

<img src="{{ asset(GetProfilePicLanding())}}" class="img-responsive">

我收到错误Call to undefined function GetProfilePicLanding()

刀片文件在resources/views/index.blade.php

函数GetProfilePicLanding()在app/helper.php

我无法想象为什么运行相同代码的两台服务器在查找此文件时会有所不同

我正在考虑添加类似 @include('app/helper') 的内容,但随后我必须修改 conf/view 文件。

如果可能的话,我会尽量不修改代码本身。

希望有任何想法或如何最好地调试它。

感谢您的帮助

【问题讨论】:

标签: php laravel laravel-7


【解决方案1】:

假设您的 helper.php 文件如下所示:

<?php

if (!function_exists('helper1')) {
    function helper1($string)
    {
        return ...;
    }
}

if (!function_exists('helper2')) {
    function helper2()
    {
        return ...;
    }
}

// and so on

您可以在composer.json 文件中添加一行以自动加载它。

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

不过,您可能需要在此之后运行 composer update。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-08
    • 2020-09-28
    • 2017-10-17
    • 2021-09-26
    • 1970-01-01
    • 2018-09-22
    • 2013-11-22
    • 1970-01-01
    相关资源
    最近更新 更多