Vra

Ek is tans leer die yii raamwerk en het gelees hul dokumentasie.

maar ek weet nog steeds nie die komponente verstaan. wat is hierdie. hulle praat oor komponent gebeure en gedrag.

kan iemand verduidelik hierdie terme vir my en gee my ware app voorbeelde van wat 'n komponent, sy gebeure en gedrag kan wees?

sou nuttig wees!

Was dit nuttig?

Oplossing

'n CComponent op sigself nie veel doen. Dit is baie soos 'n QObject in Qt. A CComponent kan gebeure in te samel, en kan afgevaardigdes na gebeure (deur attachEventHandler ()).

Met betrekking tot gedrag, die handleiding sê:

  

Die metodes van die gedrag kan wees   opgeroep asof hulle behoort aan die   komponent. Veelvuldige gedrag kan wees   verbonde aan dieselfde komponent.

     

Om 'n gedrag om 'n komponent heg,   noem attachBehavior; en om die los   gedrag van die komponent, oproep   detachBehavior.

     

'n gedrag kan tydelik in staat gestel   of afgeskakel deur 'n beroep enableBehavior   of disableBehavior, onderskeidelik. Wanneer   gestremdes, die gedrag metodes kan nie   via die komponent word opgeroep.

     

Vanaf weergawe 1.1.0, 'n   eienskappe se gedrag (of sy   openbare lid veranderlikes of sy   eienskappe gedefinieer via getters en / of   etters) kan verkry word deur die   komponent dit te geheg is.

Watter gee jou die geleentheid te simuleer 'n seine en slots meganisme, of die strategie patroon (deur aktiveer of deaktivering gedrag).

Die meeste van die klasse in Yii het CComponent as 'n basis klas.

As 'n gebruiker, jy sal die voordele wat hulle lewer deur die bogenoemde wanneer jy jou eie komponente sal skep (onder beskerming / komponente /).

http:: // www

Jy kan 'n goeie beginpunt vir die implementering van komponente hier .yiiframework.com / doc / gids / basics.component

Ander wenke

In Yii, 'n aansoek werke deur interaksie van verskillende voorwerpe, Hierdie voorwerp kan eenvoudig beskou as "komponente" of "boustene" van die aansoek. A-komponent is eenvoudig 'n voorwerp wat is die skryf van uit te voer of 'n bepaalde taak in 'n Yii aansoek te fasiliteer. As jy 'n blik op "Tipiese workflow van 'n Yii aansoek" op [Http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc] [1]

Jy sal besef dat afgesien van die lig en uitlegte (wat beskou word as skrifte) en index.php, alles wat in wisselwerking met ander is 'n komponent. Hulle het almal uit te voer verskillende take wanneer die aansoek is hardloop.

Byna alles in Yii is 'n komponent (of afgelei van CComponent klas).

Meer spesifiek,

  

CComponent implemente die protokol van die definisie, die gebruik van eiendomme en gebeure. "

Events : Events toelaat om 'n reeks (meer as een) van aksies uit te voer wanneer iets spesifiek binne 'n komponent gebeur. Jy definieer 'n gebeurtenis en heg 'n aantal funksies (aksies) om so 'n geval. Nou, wanneer so 'n geval binne die komponent word opgewek, al die funksies verbonde aan so 'n geval uitgevoer word. Soos per my verstand, dit is ietwat soortgelyk aan die konsep van hakies in Wordpress.

Die spesifieke toepassing van gebeure in 'n komponent word gedefinieer deur Yii as

  

Dit is nuttig wanneer jy wil die normale aansoek vloei onderbreek sonder uitbreiding basis klasse.

werkinge : gedrag is eenvoudig Yii se manier van wat jou met verskeie erfenis, wat nie ondersteun word deur PHP5 terwyl weg te doen met verskeie funksie-gelyknamige probleem van verskeie erfenis. As jy wil om te erf eienskappe en metodes van Klas A en B. Jy brei klas A en dan heg klas B as sy gedrag, en dan kan jy al die metodes van die klas B gebruik sowel. Nou, as beide A en B 'n funksie met die naam vervat 'usefulfunction ()', alle oproepe na hierdie funksie sal lei tot uitvoering van 'usefulfunction' uit net klas A. As albei klas A en B as gedrag is bygevoeg om 'n klas, dan is die "usefulfunction 'n oproep tot gevolg sal hê in die uitvoering van metode van die gedrag wat vir die eerste keer aangeheg.

post scriptum. (Ek is nie 'n kenner. So Korrigeer my as ek verkeerd oral.)

Miskien is dit ekstra bladsy op hul wiki kon meer insig verskaf: http://www.yiiframework.com/wiki/44/behaviors-events/

scroll top