如何访问 php 中超出范围的变量?

How to gain access to out of scope variable in php?

我有一个循环函数:

for ($i=1; $i<=10; $i++) {
    Route::get('/projects/oop/'.$i, function(){
        return View::make('projects.oop'. $i); <--- This line give me a problem.
    });
};

我不断收到:

i is not defined.

我将如何修复它以便我可以访问我的 $i 变量?

这不是处理 laravel 中动态路由路径的正确方法。

您需要做的是一起删除那个令人讨厌的 for 循环,然后您需要将动态值作为第三个参数传递给此路由。

Route::get('/projects/oop/{id}, 'ProjectsController@oop');

现在,您需要转到您的控制器目录并创建一个控制器,名称为:

class ProjectsController extends BaseController {
    function oop($id){
        return View::make('projects.oop.'.$id);
    }
}

现在您的路由将正确地将请求传递给 ProjectsController class,然后它将执行 oop 函数并将 {id} 作为参数从 Route 传递给函数。