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 중국어 웹사이트의 기타 관련 기사를 참조하세요!