다른 구성 요소에서 응용 프로그램 구성 요소에 액세스하는 것이 바람직하지 않습니까? 그렇다면 : 왜? 없다면 : 그 일을하는 가장 좋은 방법은 무엇입니까? 가이드에서이 질문에 대한 좋은 조언을 찾지 못했습니다.Yii2의 다른 구성 요소에서 구성 요소에 액세스하려면 어떻게해야합니까?
0
A
답변
1
Yii::$app->componentName
을 통해 응용 프로그램의 어느 곳에서나 모든 구성 요소에 액세스 할 수 있습니다.
하지만이 방법을 직접 그렇게하는 것은 좋지 않다고 생각합니다.
적어도 구성 요소를 격리 시키려면 componentName
이 부모 응용 프로그램 구성의 대상이라는 것을 명심해야합니다. 최소로, 참조 구성 요소의 이름을 종속 구성 요소 구성에 포함시켜야합니다. 에서
당신의 components/MyComponent.php
:
class MyComponent extends Component
{
public $referencedComponentName = 'defaultName';
...
}
config/web.php
에서 :
use yii;
...
class MyComponent extends Component
{
...
public function getReferencedComponent()
{
return \Yii::$app->get($this->referencedComponentName);
}
그러나이 방법 :
...
components => [
'myComponent' => [
...
'referencedComponentName' => 'otherComponent'
]
]
그래서 당신은 당신의 부품과 같은 코드의 다른 comonent를 호출 할 수 있습니다 아주 좋은하지.SOLID 종속 역전 원칙에 따르면 더 좋은 방법은 부모 응용 프로그램 구성에 구현 될 참조 된 구성 요소 (exampe의 인터페이스)에 대한 일부 추상화를 정의하는 것입니다. 하지만 여기서는 귀중한 예제 인 을 제공하지 못합니다. 특정 작업과 응용 프로그램 구조를 모르기 때문입니다.
관련 문제
- 1. 다른 구성 요소에서 구성 요소에 액세스
- 2. 모델의 다른 구성 요소에서 값을 얻으려면 어떻게해야합니까?
- 3. React.js 다른 구성 요소에서 구성 요소를 사용하려면 어떻게해야합니까?
- 4. 다른 구성 요소에서 구성 요소 상태 읽기
- 5. 다른 구성 요소에서 구성 요소 제거
- 6. 다른 구성 요소에서 구성 요소의 상태 수정
- 7. 반응의 복합 구성 요소에서 HTML 구성 요소에 액세스하는 방법은 무엇입니까?
- 8. 익명 구성 요소에서 이벤트 수신기를 제거하려면 어떻게해야합니까?
- 9. 다른 .mxml 구성 요소에 연결
- 10. 다른 구성 요소에 구성 요소 추가하기 React
- 11. 다른 구성 요소에 구성 요소를 삽입하십시오.
- 12. 데이터 바인딩이있는 구성 요소에서 지시문을 사용하려면 어떻게해야합니까?
- 13. Vaadin 구성 요소에 CSS를 사용하려면 어떻게해야합니까?
- 14. React : 다른 구성 요소의 구성 요소에 어떻게 액세스합니까?
- 15. 구성 요소에서 모델 사용
- 16. 는 다른 구성 요소에서 업데이트 구성 요소 상태 반응
- 17. 하나의 구성 요소에서 다른 구성 요소로의 가변 액세스 변수
- 18. 한 구성 요소에서 다른 구성 요소로 매개 변수를 전달합니다.
- 19. PHP를 사용하여 PHP 요소에서 DOM 요소에 액세스하려면 어떻게해야합니까?
- 20. 다른 구성 요소에 jscrollbar를 첨부하십시오.
- 21. JFileChooser를 다른 구성 요소에 포함
- 22. 다른 구성 요소에 모델 전달
- 23. 다른 Ajax 구성 요소에 요소를 연결하는 방법
- 24. 여러 다른 구성 요소에서 이벤트 사용
- 25. ASP.NET과 JKS 인증서를 사용하여 타사 구성 요소에 액세스하려면 어떻게합니까?
- 26. ILPlotPanel 구성 요소에서 UserControl
- 27. React 구성 요소에서 값을 반환하려면 어떻게해야합니까?
- 28. richfaces 구성 요소에서 CSS 클래스를 제거하려면 어떻게해야합니까?
- 29. 여러 구성 요소에서 단일 함수를 재사용하려면 어떻게해야합니까?
- 30. ReactJs 구성 요소에서 구성 요소로 인수를 전달하십시오.
정교한 답변을 주셔서 감사합니다 [@ maxim-korshunov] (http://stackoverflow.com/users/6479466). 나는 네가 모든면에서 옳다고 생각한다. – twigmac