개념이 헷갈려서 고민이신데요. 종속성 주입, 로컬 인스턴스 변수 및 경로 모델 바인딩 또는 경로 변수 바인딩이 가능합니다.
종속성 주입을 위해서는 Laravel이 클래스 인스턴스를 제공해야 합니다. Laravel이 무언가를 로드하는 상황에서는 일반적으로 DI를 사용하여 알 수 없는 항목을 채우려고 시도합니다. 생성자의 경우 Laravel에 클래스의 새 인스턴스인 변수 이름 $profileInfo 下的 Profile을 생성자에게 제공하도록 요청합니다. 생성자에서 이 변수를 사용하지 않게 되므로 여기서 요청할 필요가 없습니다.
다음(여전히 생성자에 있음) 로컬 변수 profileInfo를 설정하고 이를 컨트롤러 클래스 인스턴스에 할당합니다.
경로가 index 方法时,存在 $profileInfo 변수 요청을 트리거하려고 시도하면 계속됩니다. Laravel은 이것이 무엇인지 전혀 모르고 경로의 어떤 것과도 일치하지 않습니다(문서의 경로 모델 바인딩 참조). 따라서 "매개 변수가 너무 적습니다."라는 메시지가 나타납니다.
이 변수가 존재하지 않으면 이전에 profileInfo를 설정해야 합니다.
지역 변수를 유지하려면 다음과 같이 하세요.
으아악
여기서 고려해야 할 또 다른 제안이 있습니다...
이것을 프로필이라고 하기 때문에, 적절한 프로필 기록을 사용자 모델에게 물어봐야 할 것 같습니다.
개념이 헷갈려서 고민이신데요. 종속성 주입, 로컬 인스턴스 변수 및 경로 모델 바인딩 또는 경로 변수 바인딩이 가능합니다.
종속성 주입을 위해서는 Laravel이 클래스 인스턴스를 제공해야 합니다. Laravel이 무언가를 로드하는 상황에서는 일반적으로 DI를 사용하여 알 수 없는 항목을 채우려고 시도합니다. 생성자의 경우 Laravel에 클래스의 새 인스턴스인 변수 이름
$profileInfo
下的Profile
을 생성자에게 제공하도록 요청합니다. 생성자에서 이 변수를 사용하지 않게 되므로 여기서 요청할 필요가 없습니다.다음(여전히 생성자에 있음) 로컬 변수
profileInfo
를 설정하고 이를 컨트롤러 클래스 인스턴스에 할당합니다.경로가
index
方法时,存在$profileInfo
변수 요청을 트리거하려고 시도하면 계속됩니다. Laravel은 이것이 무엇인지 전혀 모르고 경로의 어떤 것과도 일치하지 않습니다(문서의 경로 모델 바인딩 참조). 따라서 "매개 변수가 너무 적습니다."라는 메시지가 나타납니다. 이 변수가 존재하지 않으면 이전에profileInfo
를 설정해야 합니다.지역 변수를 유지하려면 다음과 같이 하세요.
으아악여기서 고려해야 할 또 다른 제안이 있습니다...
이것을 프로필이라고 하기 때문에, 적절한 프로필 기록을 사용자 모델에게 물어봐야 할 것 같습니다.
으아악