Laravel 控制器方法参数的含义

如图所示 class PostController这个类的方法show(),括号中的参数为Post $post,这样的表达是什么意思,应该怎么理解呢?(其中model里面有一个类是POST)
以下是路由:

关于 LearnKu
这是典型的依赖注入,
/posts/{post}laravel 以{post}为主键自动实例化Post为模型对象$post,访问/posts/123,它所依赖的中间件是:'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class