我有一个旧网站,该网站曾经是香草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', '.+');
LegacyPagesController
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配置。任何建议表示赞赏。
答案 0 :(得分:1)
要删除您看到的错误消息,只需像这样更改error_reporting
变量:
ini_set('error_reporting', E_ALL & ~E_STRICT);
建议将其打开并改正错误,因为确实是错误,php足够聪明,可以为您处理它们。 此answer显示了php小组推荐的设置。