Yii Framework 2.0 - Web Uygulama Geliştirme

Yii bir çerçevedir iş web uygulamalarının geliştirilmesini daha çevik ve standart hale getirmek için php ile yazılmıştır. Bileşenlere dayalı mimarisi, çok fazla trafiği desteklemesi gereken, standart ve iyi belgelenmiş geliştirme yöntemleri gerektiren uygulamaların geliştirilmesi için çok uygundur, bu çerçeve portallar, iş yönetim sistemleri, içerik yönetimi gibi herhangi bir web uygulaması için kullanılır. sistemleri (CMS), e-ticaret web siteleri.

Diğer çerçevelere kıyasla bazı özellikler


Deseni kullan MVC (Model / Görünüm / Denetleyici)Diğer çerçevelerin aksine, daha iyi düzen ve bakım için her bileşeni klasörlere ayırır.
  • Kod Oluşturma: Yii, bir veritabanı tablosundan CRUD kodu üreterek sorgular, listeler ve formlar oluşturabilir.
  • Entegre jQuery ve Bootstrap çerçevesi desteği
  • Rol doğrulama ve yetkilendirme için yerleşik erişim kontrol yöntemleri
  • Web dışında bir güvenlik ve saldırı önleme sistemi içerir.
  • Topluluk tarafından geliştirilen widget'ları ve uzantıları destekler
  • Tasarım şablonlarının kullanımını destekler

Yii Çerçeve Kurulumu


Yii'nin bir Temel ve bir Gelişmiş olmak üzere iki sürümü vardır. Temel sürümde kullanıcı dosyaları ve yönetici dosyaları bir arada, gelişmiş sürümde ise bağımsız sistemler olarak iki klasöre ayrılmıştır. Başlangıç ​​aşaması Y arka uç
Yii 2.0'ı kurmak için, Yii Framework 2.0 web sitesindeki dosyaları aşağıdaki Yii 2.0 Basic ve Yii 2.0 Advanced url'sinden indirmeliyiz.
İndirdikten sonra dosyayı açıp yerel sunucumuzdaki gelişmiş klasörü kopyalıyoruz ve adını web projemizin adıyla yeniden adlandırıyoruz, bu durumda buna diyoruz yiidemo.
Ardından, terminalden web yapısının dosyalarını yüklemeliyiz, bunun için aşağıdakileri yaparız:
 sudo php başlangıcı
Geliştirme veya Üretim modunda çalıştırmak isteyip istemediğimizi soracak, Geliştirme'yi seçeceğiz ve ardından onaylayacağız, böylece gerekli tüm varsayılan yapı kopyalanacaktır.

Yiidemo web klasörüne gidersek, birkaç klasörün yüklendiğini ve ikisinin yönetici için arka uç web dosyalarını ve genel web için ön ucu içerdiğini göreceğiz.
URL'den bir tarayıcıda Arka Uç'u görebiliriz:
http: // localhost / yiidemo / arka uç / web /

Ev şablonunu da görebiliriz:
http: // localhost / yiidemo / ön uç / web /

BÜYÜT

Gördüğümüz gibi, bazı örnek sayfaları var, ancak herhangi bir veritabanına bağlanmadıkları için oturum açma veya kullanıcı kaydı işlevsel değil, ancak başlangıçta bir kod tabanı görevi görüyorlar, ayrıca tasarım responsive.
Daha sonra phpmyadmin'den yiidemodb adını vereceğimiz veritabanını oluşturacağız.
Yönetici için tablo aşağıdaki yapıya sahip olacaktır
 - "yönetici" tablosu için tablo yapısı - YÖNETİCİ DEĞİLSE TABLO OLUŞTUR ('id' tinyint (3) NULL DEĞİL,' kullanıcı' varchar (50) VARSAYILAN NULL, 'anahtar' varchar (50) VARSAYILAN NULL, 'email ` varchar (100) VARSAYILAN BOŞ) MOTOR = MyISAM AUTO_INCREMENT = 2 VARSAYILAN CHARSET = latin1; - - 'yönetici' tablosu için veri dökümü - INSERT INTO' yönetici' ('kimlik', 'kullanıcı', 'şifre', 'e-posta') DEĞERLER (1, 'yönetici', 'yönetici', '[email protected] '); Daha sonra veritabanını Yii ile bağlayacak şekilde yapılandırmamız gerekecek, bunun için / common / config klasörüne gideceğiz ve main_local.php dosyasını açacağız, burada hem arka uç hem de ön uç için ortak yapılandırmalar olacak 'yii \ db \ Connection ', 'dsn '=>' mysql: ana bilgisayar = localhost; dbname = yiidemodb ',' kullanıcı adı '=>' kök ',' şifre '=>' ',' karakter kümesi '=>' utf8 ',]; ?> var13 -> 
Daha sonra modeli, denetleyiciyi ve yöneticinin görünümünü oluşturmamız gerekecek, bunun için URL'yi kullanacağız: http: // localhost / yii… index.php?R = gii

Modeli hangi tabloyu oluşturmak istediğimizi tanımladıktan sonra, dosyanın nasıl görüneceğini görmek için Önizleme düğmesine ve ardından kodu oluşturmak için Oluştur düğmesine tıklayın.
Ardından, tabloyla etkileşime geçmek için kodu ve görünümü, denetleyiciyi ve minimum işlevleri oluşturmak için Crud oluşturucuya gidiyoruz. CRUD, Oluştur, Al, Güncelle ve Sil'in kısaltmasıdır.

Modelin rotalarını ve oluşturulacak controller'ı tanımlamamız gereken crud'da, aramalar için bir model de ekleyebiliriz.
Model Sınıfı: arka uç \ modeller \ Yönetici
Arama modeli sınıfı: arka uç \ modeller \ Yönetici \ Yönetici Arama
Denetleyici sınıfı: arka uç \ denetleyiciler \ AdministratorController
Ardından Önizleme ve Oluştur'a basıyoruz
Ardından aşağıdaki url'den oluşturduğumuz crud'ı test edebiliriz.
http: // localhost / yii… r = yönetici

Ardından \ backend \ config klasörüne gidiyoruz ve aşağıdaki kod satırını değiştireceğimiz main.php dosyasını açıyoruz:
 'identityClass' => 'ortak \ modeller \ Kullanıcı'
Yönetici modelimiz için değişiyoruz
 'identityClass' => arka uç \ modeller \ Yönetici
Arka uçta oturum açmak için belirtilen yolda bulunan Yönetici modelini kullanacağımızı belirtiyoruz.
Daha sonra common\models klasörüne gidip Backend\modeller klasöründeki LoginForm.php dosyasını kopyalıyoruz, bu şekilde backend ve frontend için ortak formda olan login'i ayırıyoruz.
Oturum açmayı çağıran denetleyici SiteController.php.php'dir, dosyayı açmalı ve satırı değiştirmeliyiz:
 ortak \ modeller \ LoginForm kullanın; 
Satıra göre:
 arka uç \ modeller \ LoginForm kullanın;
Bu şekilde form gönderildiğinde LoginForm.php dosyasını arayacaktır. arka uç \ modeller \ Yönetici yukarıda tanımladığımız gibi.
Daha sonra LoginForm'u yönetici modeline uyarlamak için aşağıdaki gibi değiştirmeliyiz:
 getUser(); if (! $ user ||! $ user-> validatePassword ($ this-> password)) {$ this-> addError ($ özelliği, 'Yanlış kullanıcı adı veya şifre.'); }} public function login () {if ($ this-> validate ()) {echo 'merhaba'; return Yii :: $ app-> user-> login ($ this-> getUser()), $ this-> RememberMe? 3600 * 24 * 30: 0); } başka {dönüş yanlış; }} // kullanıcı adı korumalı işlev getUser () {if ($ this -> _ user === null) {// varsa tüm verileri içeren bir dizi alır $ this -> _ user = Yönetici :: findByUsername ($ this-> kullanıcı adı); } $ this -> _ user; }}?> var13 -> 
Ardından, oluşturulan Yönetici modelini değiştiriyoruz ve ekleyeceğiz KimlikArayüzü erişim kontrolü için çeşitli gelişmiş güvenlik özellikleri sağlayan bir sınıftır. Bu durumda örneğimiz basit ama kullanmasak bile uygulatmalıyız.
 50], [['e-posta'], 'dize', 'maks' => 100]]; } // Tablo alanları public function featureLabels () {return ['id' => 'ID', 'user' => 'User', 'password' => 'Password', 'email' => 'Email' ,]; } // IdentityInterface'de kullanıcıyı ada göre bulmak için önceden tanımlanmış işlev public static function findByUsername ($ kullanıcı adı) {return static :: findOne (['user' => $ kullanıcı adı]); } / IdentityInterface'de anahtar genel işlevi aramak için önceden tanımlanmış işlev validatePassword ($ password) {return static :: findOne (['key' => $ password]); } // kullanıcıyı kimliğe göre bulmak için IdentityInterface'de önceden tanımlanmış işlev public static function findIdentity ($ id) {return static :: findOne ($ id); } // IdentityInterface'de kullanıcıyı işaretçi veya belirteç ile aramak için önceden tanımlanmış işlev genel statik işlev findIdentityByAccessToken ($ belirteç, $ tür = boş) {// statik :: findOne (['access_token' => $ belirteç]); } // Kullanıcı kimliğini döndürür public function getId () {return $ this-> id; } // Bir kimliğin geçerliliğini kontrol etmek için kullanılabilecek bir anahtar döndürür. public function getAuthKey () {// return $ this-> auth_key; } // Önceki işlev tarafından döndürülen anahtarı doğrulayın. public function validateAuthKey ($ authKey) {// return $ this-> getAuthKey () === $ authKey; }} 
Daha sonra backend\view\ layout içindeki layout değiştirmemiz gerekiyor, main.php dosyasını açıyoruz.
Kod satırlarını arıyoruz:
 // Web'in adını My Company NavBar :: startup (['brandLabel' => 'My Company', 'brandUrl' => Yii :: $ app-> homeUrl, 'options' => ['class') değiştiriyoruz = > 'navbar-ters navbar-sabit-üst',],]); 'brandLabel' => 'Şirketim', 'brandLabel' => 'My Yii Demo' olarak değiştiriyoruz, // Giriş yaptıysam bağlantısını gösteriyorum Giriş if (Yii :: $ app-> user-> isGuest) {$ menuItems [ ] = ['label' => 'Giriş', 'url' => ['/ site / giriş']]; } else {// Değilsem, menüde diğer bağlantıları göstereceğim $ menuItems [] = ['label' => 'Logout ('. Yii :: $ app-> user-> kimlik-> username. ' )', ' url '=> [' / site / çıkış '],' linkOptions' => ['veri-yöntemi' => 'gönder']]; } 
Burada kullanıcıyı değiştiriyoruz
 'label' => 'Çıkış ('. Yii :: $ uygulama-> kullanıcı-> kimlik-> kullanıcı adı. ')',
Kullanıcı alanımız için değişiyoruz
 'label' => 'Çıkış ('. Yii :: $ uygulama-> kullanıcı-> kimlik-> kullanıcı. ')',
Sonunda giriş yapabiliriz:
http: // localhost / pro… ay / arka uç / web /
  • kullanıcı yönetici
  • Anahtar yönetici

BÜYÜT

Ana sayfa değiştirildi \ arka uç \ görünümler \ site.
Başka bir derste, ana sayfanın tasarımını nasıl değiştireceğimizi, menüler oluşturmayı, sayfaları bağlamayı ve işlevler eklemeyi göreceğiz. Dikkatli olun ve ilgileniyorsanız beni takip edin.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave