programmering med yii2: at udforske mvc, former og skemaer

, programmering med yii2: at udforske mvc, former og skemaer,,,,, 33,,,,,,,,, 13,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet programmering med yii2. programmering med yii2: startedprogramming med yii2: arbejde med databasen og aktive optegnelser,,, hvad du vil skabe,,,   programmering med yii2: begyndt, vi opretter yii2 lokalt. bygget en hej verden anvendelse, oprette en fjernserver, og anvendes github til at sende vores kodeks.   denne forelæsning vil dække nogle af yii er mere grundlæggende begreber i forbindelse med gennemførelsen af mvc ramme: modeller, synspunkter og kontrollører.vi vil også undersøge, layout og tilpasning af navigation menuer og bootstrap elementer.,,, for disse eksempler, så kan vi forestille os, at vi bygger en ramme for udstationering simpel status opdateringer, f.eks. vores egen mini - twitter.men vi vil ikke gå så vidt som til at opbevare oplysningerne i en database.jeg vil gemme det til næste lektion, som vil undersøge   yii er stillads kapacitet, kaldet "," automates og forenkler alt, hvad vi gør i denne forelæsning, men det er vigtigt at gå gennem de grundlæggende begreber og udføre disse opgaver manuelt mindst én gang.,, modeller, hvad er en model?wikipedia siger, "en  , model,   meddeler, at den tilhørende synspunkter og flyveledere, når der er sket en ændring i den pågældende stat.denne meddelelse giver mening at udarbejde ajourførte produktion, og de registeransvarlige med at ændre til rådighed af kommandoer. ", for mig, modeller, ofte er de begreber, hvad jeg bygger i den" eksterne "verden.så, hvis vi tænker på status opdateringer, status model vil indeholde alle de egenskaber ved en opdatering og alle funktioner eller metoder i forbindelse med en forespørgsel eller en ændring af status eller status.  , og bedste praksis er at skabe så mange funktioner og intelligens i deres modeller, som du kan.i mvc praksis, du bygger modeller "tungt" og de registeransvarlige og synspunkter.   yii indeholder nogle fremragende egenskaber, der er specifikke for den slags ting, du gør i net og udvikling af anvendelsen, at forenkle model bygning, især når det kommer til formularer og databaser; de fleste af disse kan vi se på senere tutorials, lad os. skabe vores status som model.for vores kodning eksempler, kan du bruge den torsk register.jeg er ved at bygge på det, vi har skabt i begyndt tutorial-i har mærket det her forhold.den github register for det færdige lektion er her.,, vil vi skabe status.php i /- /model /status. folkesundhedsprogrammet.efter en status budskab, vi har brug for at samle teksten i budskabet fra brugeren.vi vil også skabe et tilladelser inden for udstationering i offentligt eller privat.,, <?php namespace app. - modeller; anvendelse yii. base. - model, og klasse status omfatter denne model (permissions_private = 10; denne permissions_public = 20; offentlige $tekst; offentlige $tilladelser; offentlig funktion rules() {afkast [[['text,'permissions "»krævet«]]} offentlig funktion getpermissions() {tilbage mængde (self -:: permissions_private = >'private, selv: permissions_public = > offentligt)} offentlig funktion getpermissionslabel ($tilladelser) (hvis ($tilladelser = = selvstændig: permissions_public) {tilbage" offentlig "} andre {tilbage" private "}}}?>,, se regler fungerer den bruges af yii form, validering, for at sikre, at brugere i de relevante oplysninger i hvert område.yii anvendelser javascript at validere former som brugertyper.,,, getpermissions(), funktion, jeg har skabt, vil blive anvendt til form er ud over elementer, så, lad os komme videre   at skabe en tilsynsførende til at lade brugerne skabe og se teksten opdateringer, flyveledere, hvad er en registeransvarlig?wikipedia siger, "en, finansinspektørens sender kommandoer til model for at ajourføre modellen er staten (f.eks. udgivelse et dokument).det kan også sender kommandoer til tilknyttede formål at ændre den opfattelse, er fremlæggelsen af denne model. "  i en typisk yii webapplikationen, en url vej til en side påberåber sig en styreenhed til at indlæse data til side ved hjælp af den model og gøre den side ved hjælp af den opfattelse.  , - er det bedst, at en gruppe beslægtede funktioner inden for en enkelt tilsynsførende.forskellige metoder til den registeransvarlige, aktioner, der gennemfører hver funktion.disse ofte svarer til bestemte sider.f.eks. http: ///////////////- localhost: 8888 /web /tilstand /skabe vil påberåbe sig statuscontroller er at skabe handling, som vi vil opbygge, som de udvikler status forbundne elementer, ville du   gruppe disse funktioner inden for en enkelt statuscontroller.php.nu vil vi bygge et skabe funktion.,,, hej /tilsynsførende /, skabe statuscontroller. php:,, <?php namespace app. kontrollører; anvendelse yii; anvendelse yii), web. registeransvarlige brug app. - modeller (status klasse statuscontroller udvider controller (offentlig funktion actioncreate() {$model = ny status, hvis ($model - > belastning (yii: $app - > anmodning - > post()) & & $model - > validate()) (//gyldige data modtaget i $model tilbage $- > de ('view, ['model = > $model]);} andre (//enten side er i første omgang udviste, eller der er en validering fejl tilbage til $- > de ('create, ['model = > $model]);}}}?>, udgør oprettelsen aktioner typisk påberåbe sig den model, data og gaffel, afhængigt af om de er en del af en post - operation eller ej.hvis ikke, tom form vises.hvis de modtager udstationerede data, de er valideret og behandles.i vores tilfælde betyder det, at proceduren for at gøre den opfattelse, fil.,, synspunkter, hvad er en udsigt?wikipedia siger, "en  , mener, at   anmoder om oplysninger fra den model, som den bruger til at generere en output - repræsentation for brugeren". i yii, den opfattelse, anvender en php som skabelon sprog for at gøre side produktionen i html, tilvejebringelse af oplysninger indlæst i modellen, og som leveres af den registeransvarlige, synspunkter er typisk. beliggende inden for en fælles folder i forbindelse med tilknyttet flyveleder, f.eks.   den statuscontroller synspunkter er lokaliseret i de synspunkter /status, mappe., i form yii, koden er normalt indgår i det, der kaldes et delvist billede.disse filer er ofte ved navn med en understreger præfiks.meningen er, at de skal være omfattet af andre synspunkter.dette gør det muligt for den faktiske form - kode, genanvendes af oprette og ajourføre sider.,, vi vil først gøre det skabe baggrund, der gør form.så vil vi også skabe en opfattelse for at vise os den status, som vi efter.i kommende tutorials, når vi arbejder med en egentlig database, lagring og genfinding af data, vil dette arbejde en smule anderledes. her er et simpelt eksempel på vores, hej /synspunkter /status.view.php opfattelse fil at gøre udstationerede data:,, <?folkesundhedsprogrammet aspektet anvendelse yii. hjælpere. html;?> < h1 > deres status < /stærk > < /h1 > < p > < etiket > tekst < /etiketten >: < /p > <?= html: koder ($model - > tekst).> < br /> < br /> < p > < etiket > tilladelser < /etiketten >: < /p > <?php echo $model - > getpermissionslabel ($model - > tilladelser).>,, hvor hensyn fil er en blanding af html og folkesundhedsprogrammet.når den registeransvarlige modtager udstationerede data, det gør ovennævnte betragtning, der viser, hvad de bruger indsendte data.,, men, lad os tale om former og opbygge den skabe form på fil.,, former, er det, vi bruger hver dag i internettets udvikling at indsamle oplysninger fra brugerne, ofte til at fremsætte bruger   input til databasen.yii giver en hel del hjælper kode at forenkle opbygningen af, validering, sikre og udstationering af data fra former.i yii, er en form for lyset.,,,,, her er et eksempel form for at skabe en opdatering:,, <?folkesundhedsprogrammet aspektet anvendelse yii. hjælpere. html; anvendelse yii. widgets. activeform; brug app. modeller. status?> <?php $form = activeform: begin();?> <?= $form - > område ($model, tekst ") - > textarea (['rows = > (4)]) - > etiket ('status ajourføring").> <?= $form - > område ($model, tilladelser) - > dropdownlist ($model - > getpermissions() ['prompt = > - vælger dine tilladelser -]).> < div klasse = "gruppe" > <?= html: submitbutton ('submit, ['class = > btn btn primære ']).> < /div > <?folkesundhedsprogrammet aspektet activeform: end();?>,, yii2 activeform widget anvendes til at generere html til vores input - områder.læg mærke til hvordan ud over påberåber sig status som model, getpermissions metode.,,,,, trykke forelægge knap vender tilbage til statuscontroller er at skabe handling.når den udstationerede oplysninger er modtaget, så gør view.php fil i stedet for create.php form fil.,, her er hvordan udsigten fil fremkommer, når afsmeltet med henblik på:,,,,,. næste, lad os opdatere global navigation bar til at indeholde links til status oprettelse form.,, layout,, layout er skabeloner for de fleste af de ydre, gentagen elementer af et websted, som f.eks. html dokument indpakning, hoved -, navigations - bar, og fod.da disse er fælles for de fleste sider af et websted, der er bygget en gang i udformning og ikke gentages overalt i kodeksen,.,, hvis du ser på. hej. synspunkter. opstillingsskemaer. vigtigste. folkesundhedsprogrammet, er, du kan se strukturen af den ydre udformning:,, <?folkesundhedsprogrammet aspektet anvendelse yii. hjælpere. html; anvendelse yii. bootstrap. nav; anvendelse yii. støvlestrop. navbar; anvendelse yii. widgets. brødkrummer, brug app. aktiver. appasset; /* @ var $denne. yii. spind. betragtning * /* @ var $indhold streng * /appasset: register ($);?> <?php $- > beginpage()?> <!doctype html > < http: //lang = "<?= yii: $app - > sprog?> "> < head > < meta - charset =" <?= yii: $app - > charset?> "/> < meta - navn =" viewport "indhold =" bredde = anordning bredde, oprindelige omfang = 1 > <?= html: csrfmetatags()?> < afsnit > <?= html: koder ($- > afsnit).> < /afsnit > <?php $- > head()?> < /head > < krop > <?php $- > beginbody()?> < div klasse = "pakke" > <?php NavBar::begin([ 'brandLabel' => 'My Company', 'brandUrl' => Yii::$app->homeUrl, 'options' => [ 'class' => 'navbar-inverse navbar-fixed-top', ], ]); echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => [ ['label' => 'Home', 'url' => ['/site/index']], ['label' => 'About', 'url' => ['/site/about']], ['label' => 'Contact', 'url' => ['/site/contact']], Yii::$app->user->isGuest ? [»mærket« = > login, url '= > [/site /login']]: [»mærket« = > logout (".yii: $app - > brugeren - > identitet - > brugernavn. ")"url '= > [/site /logout'], linkoptions = > ['data-method = >" post "]]]); navbar: end();?> < div klasse = "containere" > <?= brødkrummer: widget ([forbindelser = > isset ($- > params ['breadcrumbs']).$- > params ['breadcrumbs']: []).> <?= $indhold?> < /div > < /div > < fod klasse = "lille" > < div klasse = "containere" > < p - klassen = "træk tilbage" > & en kopi, mit firma <?= dato (')').> < /p > < p - klassen = "stands" > <?= yii: powered()?> < /p > < /div > < /fod > <?php $- > endbody()?> < /organ > < /html > <?php $- > endpage()?>,, synspunkter mest repræsenterer den indre side organer på et websted, hvad er mellem hoved og navigation, bar og begyndelsen af fod.de er truffet, når layout ekkoer, $indhold:,, < div klasse = "containere" > <?= brødkrummer: widget ([forbindelser = > isset ($- > params ['breadcrumbs']).$- > params ['breadcrumbs']: []).> <?= $indhold?> < /div >,, yii tillader dig at bygge flere skemaer pr. ansøgning, men dette er ikke altid nødvendig.det afhænger af din ansøgning.   registeransvarlige giver en misligholdelse, layout og du kan stoppe dette for en given aktion.hvis din tilsynsførende logisk gruppe - relaterede aktiviteter, er det sandsynligt, at brugergrænsefladen vil bruge samme udformning for alle foranstaltninger i en registeransvarlig,.,, lad os opdatere navigation bar til at omfatte en status menu med en "skaber" action.siden yii2 bruger bootstrap for dets layout og styles, vi bare nødt til at fortælle det til at skabe en bootstrap dropdown.,, ajourføre, nav: dims, at have en indlejrede system:,, echo nav: widget (["muligheder" = > ['class = > navbar nav navbar ret "," produkter "= > [[»mærket« = >" hjem "," url '= > [/site /index)]], ["mærkning" = > "status", "produkter" = > [[»mærket« = > skabe, url' = > [/status /skabe]]], [»mærket« = > "om", "url '= > [/site /om]], [»mærket«= > "kontakt", "url '= > [/site /kontakt"]], yii: $app - > bruger - > isguest?[»mærket« = > login, url '= > [/site /login']]: [»mærket« = > logout (".yii: $app - > brugeren - > identitet - > brugernavn. ")"url '= > [/site /logout'], linkoptions = > ['data-method = >" post "]]]), her er, hvad du skal se:,,,,

Final product image
Yii2 ActiveForm Blank
Yii2 ActiveForm Create
Yii2 Status View
Yii2 NavBar and Drop Down Menu



Previous:
Next Page: