Yii Framework 2.0 - tīmekļa lietojumprogrammu izstrāde

Yii ir ietvars rakstīts php, lai padarītu biznesa tīmekļa lietojumprogrammu attīstību ātrāku un standarta. Tā arhitektūra, kas balstīta uz komponentiem, ir ļoti piemērota tādu lietojumprogrammu izstrādei, kurām jāatbalsta liela datplūsma un kurām nepieciešamas standarta un labi dokumentētas izstrādes metodes; šo ietvaru izmanto jebkurai tīmekļa lietojumprogrammai, piemēram, portāliem, biznesa vadības sistēmām, satura pārvaldībai sistēmas (CMS), e -komercijas vietnes.

Dažas funkcijas, salīdzinot ar citām sistēmām


Izmantojiet modeli MVC (modelis / skats / kontrolieris)Atšķirībā no citiem ietvariem, tā sadala katru komponentu mapēs, lai nodrošinātu labāku kārtību un apkopi.
  • Koda ģenerēšana: Yii var ģenerēt CRUD kodu no datu bāzes tabulas, izveidojot vaicājumus, sarakstus un veidlapas.
  • Integrēts jQuery un Bootstrap ietvara atbalsts
  • Iebūvētas piekļuves kontroles metodes lomu autentifikācijai un autorizācijai
  • Tas ietver drošības un uzbrukumu novēršanas sistēmu ārpus tīmekļa.
  • Atbalsta kopienas izstrādātos logrīkus un paplašinājumus
  • Atbalsta dizaina veidņu izmantošanu

Yii Framework instalācija


Ir divas Yii versijas, viena pamata un viena uzlabota. Lietotāja failu un administratora failu pamata versija ir kopā, uzlabotajā versijā tie ir sadalīti divās mapēs kā neatkarīgas sistēmas Frontend Y Backend
Lai instalētu Yii 2.0, mums ir jālejupielādē faili no Yii Framework 2.0 vietnes no šī URL Yii 2.0 Basic un Yii 2.0 Advanced.
Pēc lejupielādes mēs izpakojam failu un kopējam uzlaboto mapi mūsu vietējā serverī un pārdēvējam to ar mūsu tīmekļa projekta nosaukumu, šajā gadījumā mēs to saucam yiidemo.
Tālāk no termināļa mums jāinstalē tīmekļa struktūras faili, tāpēc mēs izpildām sekojošo:
 sudo php init
Tas mums jautās, vai mēs vēlamies to palaist izstrādes vai ražošanas režīmā, mēs izvēlēsimies izstrādi un pēc tam apstiprināsim, tāpēc tiks nokopēta visa nepieciešamā noklusējuma struktūra.

Ja mēs ejam uz yiidemo tīmekļa mapi, mēs redzēsim, ka ir instalētas vairākas mapes un divas, kurās būs administratora aizmugures tīmekļa faili un publiskā tīmekļa priekšpuse.
Mēs varam redzēt aizmuguri pārlūkprogrammā no URL:
http: // localhost / yiidemo / backend / web /

Mēs varam redzēt arī mājas veidni:
http: // localhost / yiidemo / frontend / web /

PALIELINĀT

Kā redzam, tam ir dažas lapu lapas, taču pieteikšanās vai lietotāja reģistrācija nav funkcionāla, jo tās nav savienotas ar nevienu datu bāzi, bet sākumā tās kalpo kā koda bāze, turklāt dizains ir atsaucīgs.
Tālāk mēs izveidosim datu bāzi no phpmyadmin, kuru mēs nosauksim par yiidemodb.
Tabulai administratoram būs šāda struktūra
 - tabulas struktūra tabulai "administrators" - CREATE TABLE IF NOT EXISTS "administrators" ("id" tinyint (3) NOT NULL, "user" varchar (50) DEFAULT NULL, "key" varchar (50) DEFAULT NULL, `email `varchar (100) DEFAULT NULL) ENGINE = MyISAM AUTO_INCREMENT = 2 DEFAULT CHARSET = latin1; - - Izmest datus tabulai "administrators" - INSERT INTO "administrators" ("id", "lietotājs", "parole", "e -pasts") VĒRTĪBAS (1, "admin", "admin", "[email protected]" '); Tālāk mums būs jākonfigurē, lai saistītu datubāzi ar Yii, lai to izdarītu, mēs ejam uz mapi / common / config un atveram failu main_local.php, šeit būs parastās konfigurācijas gan aizmugurei, gan priekšpusei 'yii \ db \ Connection ',' dsn '=>' mysql: host = localhost; dbname = yiidemodb ',' username '=>' root ',' password '=>' ',' charset '=>' utf8 ',]; ?> var13 -> 
Tālāk mums būs jāizveido modelis, kontrolieris un administratora skats, šim nolūkam mēs izmantosim URL: http: // localhost / yii… index.php? R = gii

Pēc tam, kad esat definējis tabulu, kurā mēs vēlamies ģenerēt modeli, noklikšķiniet uz pogas Priekšskatīt, lai redzētu, kā fails izskatīsies, un pēc tam uz Ģenerēt, lai ģenerētu kodu.
Tālāk mēs ejam uz Crud ģeneratoru, lai izveidotu kodu un skatu, kontrolieri un minimālās funkcijas, lai mijiedarbotos ar tabulu. CRUD ir akronīms vārdiem Izveidot, Iegūt, Atjaunināt un Dzēst.

Sastāvā mums būs jādefinē modeļa un izveidotā kontroliera maršruti, mēs varam arī pievienot meklēšanai modeli.
Modeļa klase: backend \ models \ Administrators
Meklēt modeļa klasi: backend \ models \ Administrator \ Administrator Search
Kontroliera klase: aizmugure \ kontrolleri \ AdministratorController
Pēc tam mēs nospiežam Preview un Generate
Tad mēs varam pārbaudīt crud, ko mēs ģenerējam no šī URL
http: // localhost / yii… r = administrators

Tālāk mēs ejam uz mapi \ backend \ config un atveram failu main.php, kur mēs mainīsim šādu koda rindu:
 'IdentityClass' => 'Parasts \ modeļi \ Lietotājs'
Mēs mainām savu administratora modeli
 'IdentityClass' => backend \ models \ Administrator
Mēs norādām, ka, lai pieteiktos aizmugurē, mēs izmantosim administratora modeli, kas atrodams norādītajā ceļā.
Tālāk mēs ejam uz kopējo mapi \ models un nokopējam failu LoginForm.php mapē backend \ models, tādā veidā mēs atdalām pieteikumvārdu, kas ir izplatīts aizmugurē un priekšpusē.
Kontrolieris, kas izsauc pieteikšanos, ir SiteController.php.php, mums jāatver fails un jāmaina rinda:
 izmantot kopējos \ models \ LoginForm; 
Pēc līnijas:
 izmantot backend \ models \ LoginForm;
Tādā veidā, nosūtot veidlapu, tajā tiks meklēts LoginForm.php backend \ models \ Administrators kā mēs definējām iepriekš.
Tālāk mums ir jāmaina LoginForm, lai to pielāgotu administratora modelim šādi:
 getUser (); if (! $ user ||! $ user-> validatePassword ($ this-> parole)) {$ this-> addError ($ atribūts, 'Nepareizs lietotājvārds vai parole'.); }} publiskās funkcijas pieteikšanās () {if ($ this-> validate ()) {echo 'hello'; atgriezt Yii :: $ app-> user-> login ($ this-> getUser (), $ this-> RememberMe? 3600 * 24 * 30: 0); } else {return false; }} // funkcija, kas meklē lietotāju pēc viņa lietotājvārda aizsargātās funkcijas getUser () {if ($ this -> _ user === null) {// ja tā pastāv, tā iegūst masīvu ar visiem datiem $ this -> _ lietotājs = administrators :: findByUsername ($ šis-> lietotājvārds); } atgriezt $ šo -> _ lietotājs; }}?> var13 -> 
Tālāk mēs pārveidojam ģenerēto administratora modeli un pievienosim IdentityInterface kas ir klase, kas nodrošina dažādus uzlabotus drošības līdzekļus piekļuves kontrolei. Šajā gadījumā mūsu piemērs ir vienkāršs, taču mums tie ir jāīsteno, pat ja mēs tos neizmantojam.
 50], [['email'], 'string', 'max' => 100]]; } // Tabulas lauki public function attributeLabels () {return ['id' => 'ID', 'user' => 'User', 'password' => 'Password', 'email' => 'Email',]; } // iepriekš definēta funkcija IdentityInterface, lai atrastu lietotāju pēc nosaukuma public static function findByUsername ($ username) {return static :: findOne (['lietotājs' => $ lietotājvārds]); } / iepriekš definēta funkcija IdentityInterface, lai meklētu galveno publisko funkciju validatePassword ($ parole) {return static :: findOne (['key' => $ password]); } // iepriekš definēta funkcija IdentityInterface, lai atrastu lietotāju pēc id public static function findIdentity ($ id) {return static :: findOne ($ id); } // iepriekš definēta funkcija IdentityInterface, lai meklētu lietotāju pēc marķiera vai marķiera public static function findIdentityByAccessToken ($ token, $ type = null) {// return static :: findOne (['access_token' => $ token]); } // Atgriež lietotāja ID publisko funkciju getId () {return $ this-> id; } // Atgriež atslēgu, ko var izmantot, lai pārbaudītu ID publiskās funkcijas derīgumu getAuthKey () {// return $ this-> auth_key; } // Apstipriniet iepriekšējās funkcijas atgriezto atslēgu. publiskā funkcija validateAuthKey ($ authKey) {// return $ this-> getAuthKey () === $ authKey; }} 
Tālāk mums ir jāmaina izkārtojums backend \ view \ layout, mēs atveram failu main.php
Mēs meklējam koda rindas:
 // Mēs mainām tīmekļa nosaukumu Mans uzņēmums NavBar :: begin (['brandLabel' => 'Mans uzņēmums', 'brandUrl' => Yii :: $ app-> homeUrl, 'options' => ['class' => 'navbar-inverse navbar-fix-top',],]); 'brandLabel' => 'Mans uzņēmums', mēs mainām uz 'brandLabel' => 'My Yii Demo', // Ja esmu pieteicies, es rādu saiti Pieteikšanās, ja (Yii :: $ app-> user-> isGuest) {$ menuItems [] = ['label' => 'Pieteikšanās', 'url' => [' / site / login']]; } cits {// Ja es neesmu, izvēlnē $ menuItems [] = ['label' => 'Izrakstīties ('. Yii :: $ app-> lietotājs-> identitāte-> lietotājvārds ') parādīšu citas saites. ) ',' url '=> [' / site / logout '],' linkOptions '=> [' data-method '=>' post ']]; } 
Šeit mēs mainām lietotāju
 'label' => 'Izrakstīties ('. Yii :: $ app-> lietotājs-> identitāte-> lietotājvārds. ')',
Mēs maināmies mūsu lietotāja jomā
 'label' => 'Izrakstīties ('. Yii :: $ app-> lietotājs-> identitāte-> lietotājs. ')',
Beidzot varam pieteikties:
http: // localhost / pro… mo / backend / web /
  • Lietotājs admin
  • Atslēga admin

PALIELINĀT

Galvenā lapa ir mainīta no \ backend \ views \ vietne.
Citā apmācībā mēs redzēsim, kā mainīt galvenās lapas dizainu, izveidot izvēlnes, saistīt lapas un pievienot funkcijas. Esiet uzmanīgs un sekojiet man, ja jūs interesē.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave