php - laravel 7,刀片文件找不到功能
问题描述
我继承了一些遗留代码,我正试图让它在开发服务器上工作。它在产品服务器上运行良好。我是一个 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 文件。
如果可能的话,我试图不从 prod 修改代码本身。
会喜欢任何想法或如何最好地调试它。
谢谢你的帮助
解决方案
假设您的 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 。
推荐阅读
- python - 为什么在 Django models.Manager 中定义 create_foo() 而不是覆盖 create()?
- python - Python3 - 拆分字符串并仅保留结尾部分
- elasticsearch - 日期模式在 logstash 中无法按预期工作
- django-models - 自定义中间表 django 获取记录
- java - 用于自动确定哪些单元测试可能受源更改影响的 Eclipse 工具
- xcode - coreml 推理结果与 cpu 和 gpu 不同
- mongodb - MongoDB + Express 如何优化代码?
- java - RatingBar 中的星数看起来错误
- node.js - 如何将 webpack env 传递给 nodejs 应用程序?
- mongodb - mongodb update document method