Yii ile Uygulama Geliştirme #1

Y

(Dikkat: Yazılanların daha anlaşılır olması için serinin önceki yazılarını okumanız gerekebilir veya gerekmeyebilir. Serinin önceki yazıları: Yii Framework)

Gii aracını kullanmaya başladıktan sonra artık mini bir Yii uygulaması geliştirmeye hazırız demektir.

Uygulama OBS (Öğrenci Bilgi Sistemi) içersinde küçük bir alan kaplayan fakülte-bölüm ilişkisinden oluşsun.

Bu uygulama için yeni bir uygulama oluşturabilir ya da daha önce oluşturduğumuz uygulamanın üzerinden devam edebilirsiniz. İlerleyiş açısından bir farklılık oluşturmayacaktır (konfigürasyon ayarlarını bildiğiniz varsayılarak anlatılır). Ben daha önce oluşturduğumuz proje üzeriden devam edeceğim.

Fakülteler ve bu fakültelere ait bölümlerin CRUD işlemleriniiçerek uygulamanın önce veritabanını oluşturalım:

[code lang=”sql”]

CREATE TABLE IF NOT EXISTS `department` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`capacity` int(11) NOT NULL,
`faculty_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `faculty` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
aints for table `department`

ALTER TABLE `department`
ADD CONSTRAINT `department_ibfk_1` FOREIGN KEY (`id`) REFERENCES `faculty` (`id`);

[/code]

Tabloların görünümü:
Fakülte ve bölüm isimli 2 tablodan oluşan veritabanını, uygulamayı önplanda tutacağım için yalın bıraktım.

Yii&MySQL bağlantısına daha önce değinmiştim. Belirtilen şekilde bağlantıyı kurduktan sonra uygulamayı çalıştırın, bağlantı ayarları doğruysa sorunsuz çalışacaktır. Fakat henüz bir controller tanımlaması ya da değişikliği yapmadığımızdan, uygulama eskiden olduğu gibi çalışmaya devam edecektir.

Uygulamanın MVC dosyalarını oluştururken Gii Tool kullanacağız. Gii’nin kurulumu ve kullanımından daha önce bahsetmiştim. Aktifleştirdikten sonra Gii’yi açalım.

Veritabanındaki her bir tabloyu karşılayacak Model oluşturmak için Model Generator’ı kullanacağız. Table prefix alanını boş bırakarak, Table name kısmına ‘department’ yazın. Gii Model Class alanını kendisi tamamlayacaktır. Diğer alanları, standart bir model oluştururken değiştirmeye gerek yok. Alanları doldurduktan sonra görünüm şu şekilde olacak:

Aynı şekilde faculty tablosu için de bir model oluşturun. Generate işleminden sonra “protected/models/” yolu içerisinde oluşturulan modellere erişebilirsiniz. Model ardından aynı isimlerle Controller oluşturalım. Department için örnek görünüm: Bu şekilde iki controller oluşturduktan sonra artık projenin varsayılan controller alanını değiştirebiliriz. Varsayılan controller’ı değiştirmek için gerekenleri önceki yazılarda belirtmiştim. Controller’ı FacultyController ile değiştirdikten sonra proje direkt olarak bu controller üzerinden render edilen view dosyası ile çalışmaya başlayacaktır.

Son olarak oluşturulan Model ve Controller için gerekli Crud ve View dosyalarını oluşturmak için Gii üzerinden Crud Generator’ı açalım. Model isimlerini kullanarak crud dosyalarını oluşturalım. Örnek görünüm:

Oluşan dosyalardan altı çizili olanlar şablon olarak kullanılan dosyalardır. Yii oluşturulan formlar, listelemeler için ayrıca dosya oluşturmak yerine, şablonu içeren dosyayı gerektiği yerde çağırır.

Son olarak projenin mevcut hali: http://localhost/hello/index.php?r=faculty. Her bir model için ekle, düzenle, sil ve görüntüle yapıları hazır durumda.

Bir sonraki yazıda model projenin model dosyalarını inceleyerek devam edeceğim.

1 Yorum

  • Merhaba Katagorilerden Yii Framework’e tıklayınca bu yazınız çıkmıyor. Tag olarak arandığı zaman sorun yok ama. Bilginiz olsun istedim. Yazılar gerçekten çok faydalı.

Oğulcan

Arşivler

Kategoriler