Yii Framework 2.0 - Vývoj webových aplikací

Yii je framework napsaný v php, aby byl vývoj obchodních webových aplikací pružnější a standardnější. Jeho architektura založená na komponentách je velmi vhodná pro vývoj aplikací, které musí podporovat velký provoz, které vyžadují standardní a dobře zdokumentované vývojové metody, tento rámec se používá pro jakékoli webové aplikace, jako jsou portály, systémy pro správu podniků, správa obsahu systémy (CMS), webové stránky elektronického obchodu.

Některé funkce ve srovnání s jinými rámci


Použijte vzor MVC (model / zobrazení / ovladač)Na rozdíl od jiných rámců odděluje každou součást do složek pro lepší pořádek a údržbu.
  • Generování kódu: Yii může generovat kód CRUD z databázové tabulky a vytvářet dotazy, seznamy a formuláře.
  • Integrovaná podpora rámců jQuery a Bootstrap
  • Integrované metody řízení přístupu pro ověřování a autorizaci rolí
  • Obsahuje bezpečnostní systém a systém prevence útoků mimo web.
  • Podporuje widgety a rozšíření vyvinutá komunitou
  • Podporuje použití šablon návrhů

Instalace Yii Framework


Existují dvě verze Yii, jedna Basic a jedna Advanced. Základní verze uživatelské soubory a soubory správce jsou pohromadě, v pokročilé verzi jsou rozděleny do dvou složek jako nezávislé systémy Frontend Y Backend
K instalaci Yii 2.0 musíme stáhnout soubory z webu Yii Framework 2.0 z následující adresy URL Yii 2.0 Basic a Yii 2.0 Advanced.
Po stažení soubor rozbalíme a zkopírujeme rozšířenou složku na náš místní server a přejmenujeme ji na název našeho webového projektu, v tomto případě tomu říkáme yiidemo.
Dále z terminálu musíme nainstalovat soubory struktury webu, abychom provedli následující:
 sudo php init
Zeptá se nás, zda ho chceme spustit v režimu Vývoj nebo Produkce, vybereme Vývoj a poté potvrdíme, takže se zkopíruje veškerá nezbytná výchozí struktura.

Pokud přejdeme do webové složky yiidemo, uvidíme, že bylo nainstalováno několik složek a dvě, které budou obsahovat webové soubory typu backend pro správce a frontend pro veřejný web.
Backend vidíme v prohlížeči z adresy URL:
http: // localhost / yiidemo / backend / web /

Můžeme také vidět domovskou šablonu:
http: // localhost / yiidemo / frontend / web /

ZVĚTŠIT

Jak vidíme, má několik ukázkových stránek, ale přihlašovací nebo uživatelská registrace nejsou funkční, protože se nepřipojí k žádné databázi, ale pro začátek slouží jako základ kódu, také design reaguje.
Dále vytvoříme databázi z phpmyadmin, kterou pojmenujeme yiidemodb.
Tabulka pro správce bude mít následující strukturu
 - Struktura tabulky pro tabulku `správce` - VYTVOŘIT TABULKU, NEBYLI EXISTUJE` správce` (` id` tinyint (3) NOT NULL, `user` varchar (50) DEFAULT NULL,` key` varchar (50) DEFAULT NULL, `email `varchar (100) DEFAULT NULL) MOTOR = MyISAM AUTO_INCREMENT = 2 DEFAULT CHARSET = latin1; - - Data výpisu pro tabulku `správce` - VLOŽTE DO` administrátora` (` id`, `uživatel`,` heslo`, `email`) HODNOTY (1, 'admin', 'admin', '[email protected] '); Dále budeme muset nakonfigurovat propojení databáze s Yii. Přejdeme do složky / common / config a otevřeme soubor main_local.php, zde budou běžné konfigurace pro backend i frontend 'yii \ db \ Connection ',' dsn '=>' mysql: host = localhost; dbname = yiidemodb ',' username '=>' root ',' heslo '=>' ',' charset '=>' utf8 ',]; ?> var13 -> 
Dále budeme muset vytvořit model, ovladač a pohled administrátora, k tomu použijeme URL: http: // localhost / yii… index.php? R = gii

Po definování, kterou tabulku chceme model vygenerovat, klikněte na tlačítko Náhled, abyste viděli, jak bude soubor vypadat, a poté Generovat pro vygenerování kódu.
Dále přejdeme k generátoru Crud, abychom vytvořili kód a zobrazení, řadič a minimální funkce pro interakci s tabulkou. CRUD je zkratka pro Create, Get, Update a Delete.

V crudu budeme muset definovat trasy modelu a kontroleru, který bude vytvořen, můžeme také přidat model pro vyhledávání.
Modelová třída: backend \ models \ Administrator
Hledat modelovou třídu: backend \ models \ Administrator \ Administrator Search
Třída ovladače: backend \ controllers \ AdministratorController
Poté stiskneme Náhled a Generovat
Poté můžeme otestovat crud, který generujeme z následující adresy URL
http: // localhost / yii… r = správce

Dále přejdeme do složky \ backend \ config a otevřeme soubor main.php, kde upravíme následující řádek kódu:
 'identityClass' => 'common \ models \ User'
Měníme pro náš model správce
 'identityClass' => backend \ models \ Administrator
Uvádíme, že pro přihlášení do backendu použijeme model Administrator nalezený na zadané cestě.
Dále přejdeme do běžné složky \ models a zkopírujeme soubor LoginForm.php do složky \ backend \ models. Tímto způsobem oddělíme přihlášení, které je v běžné podobě pro backend a frontend.
Řadič, který vyvolává přihlášení, je SiteController.php.php, musíme soubor otevřít a upravit řádek:
 používat běžné \ models \ LoginForm; 
Podle řádku:
 použijte backend \ models \ LoginForm;
Tímto způsobem při odeslání formuláře vyhledá LoginForm.php backend \ models \ Administrator jak definujeme výše.
Dále musíme přihlašovací formulář upravit tak, aby jej přizpůsobil správcovskému modelu následujícím způsobem:
 getUser (); if (! $ user ||! $ user-> validatePassword ($ this-> heslo)) {$ this-> addError ($ attribute, 'Nesprávné uživatelské jméno nebo heslo.'); }} přihlášení k veřejné funkci () {if ($ this-> validate ()) {echo 'ahoj'; vrátit Yii :: $ app-> uživatel-> přihlášení ($ this-> getUser (), $ this-> rememberMe? 3600 * 24 * 30: 0); } else {return false; }} // funkce, která hledá uživatele podle jeho funkce chráněné uživatelským jménem getUser () {if ($ this -> _ user === null) {// pokud existuje, získá pole se všemi údaji $ this -> _ uživatel = správce :: findByUsername ($ this-> uživatelské jméno); } vrátit $ this -> _ uživatel; }}?> var13 -> 
Dále upravíme vygenerovaný model správce a přidáme Rozhraní identity což je třída, která poskytuje různé pokročilé funkce zabezpečení pro řízení přístupu. V tomto případě je náš příklad jednoduchý, ale musíme je nechat implementovat, i když je nepoužíváme.
 50], [['' email '],' string ',' max '=> 100]]; } // Pole tabulky atribut public functionLabels () {return ['id' => 'ID', 'user' => 'User', 'password' => 'Password', 'email' => 'Email',]; } // předdefinovaná funkce v IdentityInterface k vyhledání uživatele podle jména public static function findByUsername ($ username) {return static :: findOne (['user' => $ username]); } / předdefinovaná funkce v IdentityInterface pro vyhledávání klíčů veřejné funkce validatePassword ($ heslo) {return static :: findOne (['key' => $ heslo]); } // předdefinovaná funkce v IdentityInterface k vyhledání uživatele podle ID veřejná statická funkce findIdentity ($ id) {return static :: findOne ($ id); } // předdefinovaná funkce v IdentityInterface pro vyhledávání uživatelů podle značky nebo tokenu veřejná statická funkce findIdentityByAccessToken ($ token, $ type = null) {// return static :: findOne (['access_token' => $ token]); } // Vrátí ID uživatele veřejná funkce getId () {return $ this-> id; } // Vrací klíč, který lze použít ke kontrole platnosti veřejné funkce ID getAuthKey () {// return $ this-> auth_key; } // Ověření klíče vráceného předchozí funkcí. veřejná funkce validateAuthKey ($ authKey) {// návrat $ this-> getAuthKey () === $ authKey; }} 
Dále musíme změnit rozložení v backend \ view \ layout, otevřeme soubor main.php
Hledáme řádky kódu:
 // Upravujeme název webu My Company NavBar :: begin (['brandLabel' => 'My Company', 'brandUrl' => Yii :: $ app-> homeUrl, 'options' => ['class' => 'navbar-inverzní navbar-fixed-top',],]); 'brandLabel' => 'My Company', We change to 'brandLabel' => 'My Yii Demo', // If I logging in show the link Login if (Yii :: $ app-> user-> isGuest) {$ menuItems [] = ['label' => 'Přihlášení', 'url' => [' / site / login']]; } else {// Pokud nejsem, ukážu další odkazy v nabídce $ menuItems [] = ['label' => 'Odhlásit se' '. Yii :: $ app-> uživatel-> identita-> uživatelské jméno.' ) ',' url '=> [' / site / logout '],' linkOptions '=> [' data-method '=>' post ']]; } 
Zde měníme uživatele
 'label' => 'Odhlásit ('. Yii :: $ app-> uživatel-> identita-> uživatelské jméno. ')',
Měníme se pro naše uživatelské pole
 'label' => 'Odhlásit ('. Yii :: $ app-> uživatel-> identita-> uživatel. ')',
Nakonec se můžeme přihlásit:
http: // localhost / pro… mo / backend / web /
  • Uživatel admin
  • Klíč admin

ZVĚTŠIT

Hlavní stránka je upravena z \ backend \ views \ site.
V dalším tutoriálu uvidíme, jak změnit design hlavní stránky, vytvořit nabídky, propojit stránky a přidat funkce. Buďte pozorní a v případě zájmu mě sledujte.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave