ErrorException 未定义变量 移至 Laravel 辅助函数后

我有一个旧网站,曾经是香草 php。我迁移到 Laravel,将整个代码放在视图中的“旧文件夹”下,并且我有一个包含很多功能的文件夹。

此时一切正常。

为了更进一步,我将视图内的文件夹中的函数移到了助手中。现在我在代码库中到处重复出现一些类型的错误,我正在调试它们,但它们很多,我不知道为什么现在而不是之前抛出它们。

例如,如果出现以下情况,现在会抛出错误:

  • 访问数组的未定义索引

    $a = $_GET['a'];

  • 访问对象的未定义属性

    $a = $b->c;

  • 我尝试将一个未设置的变量排入队列

    $a .= "例子";

  • 调用未设置变量上的 foreach

  • 函数被传递一个未设置的变量

这是我的路线/web.php

Route::get('{path?}', 'LegacyPagesController@show')->where('path', '.+');

Route::post('{path?}', 'LegacyPagesController@show')->where('path', '.+');

传统页面控制器


public function show($path='index.php')

{

  ob_start();

  require(base_path('resources/views/legacy-pages/').$path);

  return ob_get_clean();

}

我已经把助手放在 App\Helpers\ExampleHelper.php 作为函数的无类集合和 composer.json


"autoload": {

    "files": [

        "app/Helpers/ExampleHelper.php",

我不确定这些错误是否与新助手或我的路由错误有关,或者是否可能涉及其他任何内容,例如 php 版本或 php.ini 配置。任何建议表示赞赏。


郎朗坤
浏览 258回答 1
1回答

达令说

要删除您看到的错误消息,只需error_reporting像这样更改变量:ini_set('error_reporting', E_ALL & ~E_STRICT);建议打开它并修复错误,因为它确实是错误,php 足够聪明,可以为您处理它们。此答案显示了 php 团队的推荐设置。
打开App,查看更多内容
随时随地看视频慕课网APP