> PHP 프레임워크 > YII > yii2에서 구성 요소는 무엇을 의미합니까?

yii2에서 구성 요소는 무엇을 의미합니까?

爱喝马黛茶的安东尼
풀어 주다: 2019-12-09 11:15:49
원래의
3173명이 탐색했습니다.

yii2에서 구성 요소는 무엇을 의미합니까?

Component는 YII 프레임워크 애플리케이션(application)의 주요 구성 요소입니다. [yiibaseComponent]의 인스턴스 또는 하위 클래스입니다. 구성 요소에는 세 가지 중요한 기능(기능)이 있습니다.

·properties

·events

·behaviors

이러한 기능을 단독으로 또는 조합하여 사용하세요. Yii 프레임워크는 더욱 사용하기 쉽고 사용자 정의가 가능합니다. 예를 들어 사용자 상호 작용 구성 요소 [yiijuiDataPickerdata picker wigets]를 도입하면 뷰에서 날짜 선택 컨트롤(jquery ui 날짜 선택기)을 쉽게 생성할 수 있습니다.

use yii\jui\DatePicker;
echo DatePicker::widget([
    'language' => 'ru',
    'name'  => 'country',
    'clientOptions' => [
        'dateFormat' => 'yy-mm-dd',
    ],
]);
로그인 후 복사

DatePicker 위젯의 속성은 [yiibaseComponet] 클래스를 상속하기 때문에 쉽게 수정할 수 있습니다.

구성 요소는 매우 강력하지만 구성 요소가 추가 메모리 및 CPU 시간을 필요로 하기 때문에 일반 클래스 개체보다 오버헤드가 더 큽니다. 이벤트 및 동작을 처리합니다. 구성 요소에 이벤트와 동작의 두 가지 특성(함수)이 필요하지 않은 경우 [yiibaseObject]를 직접 상속할 수 있으므로 구성 요소의 성능(효율성)이 일반 클래스 개체와 일치하고 지원됩니다. 속성.

[yiibaseComponent] 또는 [yiibaseObject]를 상속하는 클래스를 작성할 때 다음 규칙을 따라야 합니다.

· 생성자를 다시 작성한다고 가정하면 $config 매개변수를 클래스의 마지막 매개변수로 정의해야 합니다. 생성자. 이 매개변수는

을 사용하여 상위 클래스의 생성자에 전달됩니다. ·상위 클래스의 생성자는 재정의된 생성자의 끝에서 호출되어야 합니다.

· [yiibaseObject: :init ()|init()] 메서드를 사용하려면 재정의된 init 메서드부터 시작하여 상위 클래스의 init 메서드를 호출해야 합니다

예를 들어

namespace yii\components\MyClass;
use yii\base\Object;
class MyClass extends Object
{
    public $prop1;
    public $prop2;
    public function __construct($param1, $param2, $config = [])
    {
        // ... initialization before configuration is applied
        parent::__construct($config);
    }
    public function init()
    {
        parent::init();
        // ... initialization after configuration is applied
    }
}
로그인 후 복사

다음 예를 따라 구성 요소의 속성을 구성할 수 있습니다. 생성될 때(초기화):

$component = new MyClass(1, 2, ['prop1' => 3, 'prop2' => 4]);
// alternatively
$component = \Yii::createObject([
    'class' => MyClass::className(),
    'prop1' => 3,
    'prop2' => 4,
], [1, 2]);
로그인 후 복사

팁: [Yii::createOject()]를 사용하는 방법이 더 복잡해 보이지만 [Yii::createObject]는 종속성 주입 구현을 기반으로 하기 때문에 더 강력합니다

[yiibaseObject] 클래스 필수 구현 다음 라이프 사이클:

(1) 생성자에서 사전 초기화를 구현하고 이때 기본 속성 값을 설정할 수 있습니다.

(2) $config를 통해 객체를 구성하고 재정의합니다. 생성자에서 객체 구성을 통해 기본값 ;

(3) [yiibaseObject::init()|init()] 메서드에서 초기화 구성을 수행합니다. 일상적인 검사와 속성 정규화 검사는 init 메소드에서 구현될 수 있습니다.

(4) 객체 메소드 호출.

처음 세 단계는 모두 생성자에서 구현됩니다. 즉, 개체의 인스턴스를 얻을 때 해당 개체가 적절한 상태로 초기화되어 안심하고 사용할 수 있다는 의미입니다.

PHP 중국어 웹사이트에는 무료 Yii 입문 튜토리얼이 많이 있습니다. 누구나 배울 수 있습니다!

위 내용은 yii2에서 구성 요소는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿