一个依赖注入问题

有点想不明白,在laravel控制器的__constract方法中注入类的时候,系统会自动为我们实例化那些类吗??
就拿hyperdown来举例

class Parser{
    public function makeHTML($text){
        ...
    }
}

然后有一个控制器PostController,show方法显示用户的帖子。

class PostController extends Controller{
    protected $parser;
    public function __constract(Parser $parser){
        $this->parser = $parser;
    }

    public function show($id){
        $postData = \App\post::findorFail($id);
        $html = $this->parser->makeHTML($postData->contents);
        return view('post',compact('html'));
    }
}

我不能明白,在构建PostController的时候,Parser类是怎么传进去的??
是不是会自动new Parser变成这样

$post = new PostController(new Parser())->show(..)
JellyBool
修改的评论也不能少于六个字哦!