>PHP 프레임워크 >Laravel >laravel의 ioc 제어 반전이란 무엇입니까?

laravel의 ioc 제어 반전이란 무엇입니까?

WBOY
WBOY원래의
2022-03-15 11:22:082936검색

laravel에서 IOC 제어 반전은 객체 지향 프로그래밍의 설계 원칙입니다. 이는 컴퓨터 코드 간의 결합을 줄이는 데 사용할 수 있습니다. 이는 한 클래스가 해당 제어를 다른 객체에 넘겨주는 것을 의미합니다. 이 개체.

laravel의 ioc 제어 반전이란 무엇입니까?

이 기사의 운영 환경: Windows 10 시스템, Laravel 버전 6, Dell G3 컴퓨터.

laravel에서 ioc 제어 반전이란 무엇인가요?

제어 반전(Inversion of Control, 약어로 IoC)은 컴퓨터 코드 간의 결합을 줄이는 데 사용할 수 있는 객체 지향 프로그래밍의 설계 원칙입니다.

가장 일반적인 방법은 DI(종속성 주입)이고 다른 방법은 "종속성 조회"입니다. 제어 역전을 통해 객체가 생성되면 시스템의 모든 객체를 제어하는 ​​외부 엔터티가 자신이 의존하는 객체의 참조를 전달합니다.

간단히 말하면 클래스는 자신의 제어권을 다른 객체에 넘겨주고 클래스 간의 종속성은 이 객체에 의해 해결됩니다. 종속성 주입은 종속성을 명시적으로 선언하는 반면 종속성 조회는 조회를 통해 종속성을 해결합니다.

제어 반전(IoC): 콘텐츠를 직접 수정할 필요가 없으며 대신 외부로 전달됩니다. 내부 종속성을 외부 종속성으로 변경합니다.

제어 반전(IOC): '제어'는 프로그램 실행 흐름을 제어하는 ​​것입니다. '역전'이란 프레임워크를 사용하기 전에 프로그래머가 프레임워크를 사용한 후 전체 프로그램의 실행을 제어하는 ​​것을 의미합니다. 프로그램에서 멤버가 프레임으로 반전됩니다.

클래스 삽입:

App::bind('foo', function($app)
{
    return new FooBar;
});

이 예는 foo라는 별칭을 사용하여 클래스를 생성한다는 의미이며 FooBar의 실제 인스턴스화는 이를 사용할 때입니다.

이 클래스를 사용하는 방법은 다음과 같습니다:

$value = App::make('foo');

$value는 실제로 FooBar 객체입니다.

싱글턴 모드를 사용하여 클래스를 인스턴스화하려면 다음을 사용하세요.

App::singleton('foo', function()
{
    return new FooBar;
});

이렇게 하면 매번 동일한 객체가 인스턴스화됩니다.

【관련 추천: laravel 동영상 튜토리얼

위 내용은 laravel의 ioc 제어 반전이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.