yeni bir yii kullanıcısı olarak 2-3 tane yapılmış örnek indirdim. her örnek farklı tarzda yapılmış. buda öğrenmemi zorlaştırıyor sanırım. bilen arkadaşlardan sade anlaşılır şekilde yii nin yapısını, nasıl işlediğini, çalışma mantığını ayrıntılı anlatmasını rica ediyorum.
MVC yapısı nedir bunu ilk önce kavraman gereken olay. MVC = model - view - controller
view= görünüm arayüz kısmı
model= Yii frameworkte database işlemleri, database kayıt öncesi yapılan işlemler, kayıttan sonraki yapılan işlemler ve validate işlemleri
Controller= işlemlerin hesaplamları verileri çekip işlediğin yer.
Controller sayfasında hangi Sql tablosundan(modelden) verileri çekeceğini şlemleri yaparsın. View (görünme gönderirsin array olarak), view de bunu işlersin. Tüm frameworklerin yapısı hemen hemen aynıdır. Amac kod kargaşalığını azaltmak daha hızlı biçimde hedefe ulaşmaktır. verdiğim sitede widget,extesion kullanımları bakabilirsin onlarla başlaman iyidir. http://www.youtube.com/user/Gustalh videolarına bakabilirsin. Türkçe kaynak bulman imkansız. kolay gelsin
teşekkür ederim. dediğiniz kodları inceledim. belli bir mantık oluştu gibi. şuan örnekleri kendime göre özelleştirmeye çalışıyorum. özellikle framework ile birlikte gelen blog örneğinde giriş kısmında username kısmını email veya db den ve formdan kullanici_adi şeklinde yapıp işlemleri devam ettirmeye çalışıyorum. fakat username tanımlı tüm yerlerde email kullanmama rağmen Property "UserIdentity.email" is not defined. hatası veriyor.UserIdentity.php dosyasına bakıyorum herşey normal. kendime göre alanları tanımlayıp db yapısın oluşturup kullanmak bu kadar zormu veya kullanımı nasıl?
yii’ nin hazır yapılmıs classıdır. loginFormdan gelen veriyi yakalamak için kullanılan bir classdır. protected altında components klasöründe bulabilirsin. Loginformdan $this->username ve $this->password değikenleri bu classa gönderilir ve UserIdentity’de ise kullanıcılar tablosuna baglı modelini cagırarak : örnek
$model=Kullanicilar::model()->find('KULLANICI=:KUL and PAROLA=:PAR',array(':KUL'=>trim($this->username),':PAR'=>md5(trim($this->password))));
gibi fonksyionla modelimi çağırıp giriş yapılan username ve parolayı veritabanında var ise
setState session tanımlamalar gerçekleştirdim geriye doğru veya yanlıs sonuc döndürdüm. Login oldu veya olamadı.
Sistemde birden fazla giriş varsa, mesala admin paneli ve kullanıcı paneli aynısı gibi AdminIdentity olusturup ona gönderebilirsin. Sınırsız giriş paneli sınırsız yakalama. setState 'yide <?=Yii::app()->user->getState(“ID”)?> olarak alırsın
public function authenticate()
{
$model=Kullanicilar::model()->find('KULLANICI=:KUL and PAROLA=:PAR',array(':KUL'=>trim($this->username),':PAR'=>md5(trim($this->password))));
if(count($model) < 1)
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else{
$this->setState('ADMIN',1);
$this->setState('KULLANICI',$model->KULLANICI);
$this->setState('YONETICI',$model->ADMIN);
$this->errorCode=self::ERROR_NONE;
}
return !$this->errorCode;
}
eyvallah yardımların için teşekkür ederim. oop php bilmemenin zorluklarıyla birlikte yii frameworkün kurallarına uygun sayfa üretmekte benim için hayli zor oluyor.
Yii Framework’de sayfa üretmek için yorulmana gerek yok Gii tool ile bu işleri çok kolay bir biçimde yapabilirsin. Örneğin, database’de tbl_users adında bir tablon varsa Gii’nin model generatoruna gelip otomatik model oluşturabilirsin. Modelini kullanarak o tabloya ait form oluşturubilirsin ve bunun neticesinde Yii sana controller için otomatik action bile üretir.Piyasadaki PHP tabanlı olarak en akıllı framework bana göre yii frameworkdür.
Yeni başlayaan biri olarak yii de EAjaxUpload extensionsını yükledim ama nasıl kullanacağımı bilmiyorum.Resim upload edip veritabanına kayıt etmek istiyorum.Yardımlarınız için teşekkürler.