有点想不明白,在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(..)