namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Bar; //Q1. where is include App\Bar?
//Q2. where is new Bar; ?
class Foo extends Controller
{
public function foo(Request $request, Bar $bar){ //Q3. what is Bar $bar means? pass object into method?
#1
$this->validateLogin($request);
#2
$bar->barFunc();
}
}
I'm currently learning laravel and I notice laravel pass object into method
but I am very confuse how it works.
Here is my questions
we
use namespace App\Bar, where is include file? (does laravel auto include file when you use namespace?)where is
new Bar;?how
foo(Request $request, Bar $bar)works?
Does it pass object into method?
why not
foo(){
$bar = new Bar;
}
new Bar. At least not in your example. It's your job to pass in an instance of$barto the function. 3. Like any other function. Type hints. And you don't do as you said$bar = new Bardirectly in the function because dependency injectionautoloadall your files for you, so you don't need to include them.