bildirgec.org

mvc hakkında tüm yazılar

Django ile ORM ve uygulama geliştirmek

admin | 25 November 2010 14:10

Bir önceki yazımda django kurulumundan bahsetmiştim. Şimdi django ile basit bir application geliştirelim.

Öncelikle komut satırında projemizin bulunacağı dizine gelelim. (Örneğin c:projects)
Burada “python c:python27Scriptsdjango-admin.py startproject sinema” komutunu girelim. Sinema adında bir proje oluşturacaktır. django-admin.py scriptini istediğiniz dizine taşıyabilirsiniz.

Gördüğünüz gibi sinema adında bir klasör oluşturdu. Klasörün içine girdiğimizde 4 adet dosya görmekteyiz.

  • manage.py : projenin genel yönetimini yapacağımız script
  • settings.py : projenin ayarları
  • urls.py : urlleri belirttiğimiz script
  • __init__.py

Projemizi oluşturduk, gelelim yapılandırmaya. Sinema klasörünün içinde settings.py dosyasını düzenleyelim. İlk önce DATABASES dict objesinden veritabanını ayarlayacağız.

Django nedir, nasıl kurulur

admin | 22 November 2010 16:01

Django python üzerinde geliştirilmiş bir web framework’üdür. Django web programlama işini çok daha keyifli hale getiren bileşenler, yardımcılar barındırmaktadır. Türkiye’de çok fazla kullanılmasa da ileride çok daha yaygın olacağı kesindir. Ayrıca python tabanlı olması, uygulama geliştirme işlemini çok daha basitleştirmektedir. Django ile web uygulaması geliştirirken diğer python kütüphanelerini kullanabilmekteyiz. Örneğin bir sinema sitesi yapacağımızı düşünelim, ve bu sinema sitesine imdb.com gibi sitelerden otomatik veri çektireceğimizi düşünelim. Bunu her dilde olduğu gibi python’da da yazabiliriz. Ama önce bir python’un kütüphanelerine göz atıyoruz. Ve bir de bakıyoruz ki IMDbPy adında bir kütüphanesi var 🙂 Bunun gibi bir çok kolaylık daha…

ASP.NET MVC

admin | 05 May 2010 16:33

Bir portal projesi için .Net kullanmam gerekiyordu ve açıkcası .Net hakkında zerre fikrim yoktu. Formlarla dlllerle uzunca uğraşlar sonunda ASP.NET MVC ile PHP ortamından alışık olduğum yapıda ürün geliştirebildim. Pek de yeni bir olaymış MS için onu öğrendim.

ASP.NET MVC yi Windows 2005 Server ve Windows XP de çalışır hale getirmek biraz zor oldu. Aslında zor değil de ne yapacağını bilmeyince iş biraz karışıyor.

Windows 7 kullanıyor iseniz şanslısınız MVC’yi kurmak çocuk oyuncağı olacaktır. Microsoft Web Platform installer sizin için bütün işlemleri hızlıca yapacaktır. IIS 7 den önceki versiyonlar için kurulum biraz sancılı olabiliyor.

CodeIgniter’da E-posta ile Üye Aktivasyonu

fatigue | 10 July 2009 19:50

İnternet siteleri üye olan ziyaretçilerinin çalışan e-posta adreslerini denetlemek için aktivasyon e-postası gönderirler. Böylece aktivasyon mesajındaki linki tıklayan ziyaretçi web sitesine geri döndüğünde site için yaşayan bir üye kaydının yapıldığı kabul edilir. Bu yazımda CodeIgniter ile e-posta göndermeye ve aktivasyon işleminin nasıl yapıldığına değineceğim.

Yazıda daha önce burada anlattığım auth.php isimli kütüphaneyi kullandığım için, önce o yazıyı okumanızı öneririm. E-posta yollayabilmek için önce içinde gerekli sabitlerin yer aldığı email.php isimli dosyamızı application/config dizini altına kayıt ediyoruz. Dosyamızın içeriği alttadır:

CodeIgniter’da RSS Kütüphanesi ile Site Takibi

fatigue | 31 May 2009 08:15

Rss, “Really Simple Syndication” kelimelerinin baş harflerinin bir araya gelmesi ile oluşmuş bir site takip formatıdır. Bir sitedeki tüm değişikliklerin Rss formatına alınmasının ardından, başka siteler ya da kullanıcılar tarafından takip edilebilirliği artar. Ziyaretöiler sürekli yeni bir şey var mı? diyerek sitenize gelmeyi bir süre sonra unuturlarsa, bu opsiyon sayesinde sitedeki yeniliklerden anında haberdar olurlar.

CodeIgniter, standart paketine dahil olan RSS kütüphanesi ile kullancıların kolaylıkla sitedeki yenilikleri takipçilerine aktarmalarına olanak sağlar. Rss kütüphanesi kullanarak bir blog sitesine eklenen her yeni yazıyı takip amacıyla bir Rss.xml oluşturalım.

CakePHP ile basit bir ziyaretçi defteri – 2

ceyranci | 20 April 2009 15:10

Bir önceki yazımda oluşturduğumuz ziyaretçi defterine herkes yazı yazabiliyordu. Şimdi de bu ziyaretçi defterine yazı yazmak için üye girişi yapma zorunluluğu ekleyeceğiz.
Ziyaretçi defterinde yazdığımız yazıların saklanacağı bir tablo oluşturmuştuk. Şimdi de kullanıcı bilgilerinin saklanacağı bir tablo oluşturacağız. Fakat bu tabloyu oluşturmadan önce diğer tablomuzda bir değişiklik yapmamız lazım. Ziyaretçi defterinde oluşturduğumuz tablo şu şekildeydi:

1
2
3
4
5
6
7
CREATE TABLE `defter`.`posts` (
`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`created` DATETIME NOT NULL ,
`title` VARCHAR( 128 ) NOT NULL ,
`body` TEXT NOT NULL ,
`user` VARCHAR( 32 ) NOT NULL
) ENGINE = MYISAM

Buradaki user alanını user_id olarak değiştirip VARCHAR( 32 ) yerine de INT( 8 ) yazıyoruz. Değişiklik yaptıktan sonraki hali:

1
2
3
4
5
6
7
CREATE TABLE `defter`.`posts` (
`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`created` DATETIME NOT NULL ,
`title` VARCHAR( 128 ) NOT NULL ,
`body` TEXT NOT NULL ,
`user_id` INT( 8 ) NOT NULL
) ENGINE = MYISAM

Bunu yapmadan önce user bir string değere karşılık geliyordu ve ziyaretçi defterine yazı eklerken kullanıcı tarafından giriliyordu. Şimdi ise user_id oldu ve bir sayıya karşılık geliyor. Yani birazdan oluşturacağımız users tablosunda yer alan kullanıcıların id değeri.
Ali isminde bir kullanıcımız olsun. Ali’nin id’si 17 olsun ve Ali ziyaretçi defterine bir yazı eklemek için giriş yapsın. Ali, ziyaretçi defterine bir yazı yazdığında bu yazının user_id değeri 17 olur. Yazıyı ekrana yazdırırken de id’si o yazının user_id değeri olan kullanıcın adı yani name değeri veritabanından okunur. Şimdi ziyaretçi defterimizi geliştirmeye başlayalım. Ziyaretçi defterini oluşturmadıysanız buradan oluşturduktan sonra yazının geri kalan kısmını okumaya devam edin.
Oluşturduğumuz veritabanında (defter) users isminde bir tablo oluşturalım.

1
2
3
4
5
6
7
CREATE TABLE `defter`.`users` (
`id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 32 ) NOT NULL ,
`password` VARCHAR( 64 ) NOT NULL ,
`email` VARCHAR( 128 ) NOT NULL ,
`created` DATETIME NOT NULL
) ENGINE = MYISAM

Model Oluşturma
Şimdi cakeyol/app/models/ dizini içine user.php ismiyle user modelimizi oluşturup içine şunları yazalım:

1
2
3
4
5
6
7
<?php
class User extends AppModel
{
var $name = 'User';
var $hasMany = 'Post';
}
?>

CodeIgniter’da Adres Yönlendirme

fatigue | 30 March 2009 11:33

CodeIgniter’ın ulaşımı, yapısı gereği site_adı/controller_adı/method_adı/degisken1/degisken2 olarak kuruludur. Ancak bazı durumlarda controller dosyası tek bir method’tan oluşabilir. Bu method index() ismini verdiğimiz varsayılan method olabileceği gibi herhangi bir isimle yazacağımız bir method da olabilir.

Bu durumda sayfaya ulaşım adresini klasik adres yolu ile gereksiz yere uzatmamak için, method_adı kısmını kaldırmak daha doğrudur. Bu işi iki yolla gerçekleştirebilir. Birincisi, MY_Router.php isimli kütüphane dosyasını yazarak bunun içinden yönlendirme; ikincisi ise, Remap fonksiyonu ile çözme.

CodeIgniter’da Digg Stili Sayfa Numaralandırma

admin | 19 February 2009 10:40

CodeIgniter’da sayfalandırma yapmak için pagination sınıfını kullanırız. Bu yazıdaki amacımız günlüğümüzü yazdığımız bir sitede, ekrana bastıracağımız günlük yazılarının sayfalandırılmasını sağlamak. Öncelikle controller dosyamız içinden (application/controllers/gunluk.php) ilgili saylandırma sınıfını çağırıyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
class Gunluk extends Controller {
function Gunluk()
{
parent::Controller();
}
function index()
{
$this->load->library('pagination');
}
}

CodeIgniter’da Kütüphane Yazmak

admin | 09 February 2009 10:51

CodeIgniter, PHP üzerine yazılmış ve MVC (Model-View-Controller) kalıbı kullanan bir çatıdır (framework). Eşdeğer PHP çatıları arasından hızlı oluşu, elastikliği ve öğrenim kolaylığı açısından diğerlerinden öne çıkmaktadır. Ancak, CodeIgniter küçük çaplı internet sitelerinde uygulanması dezavantajı nedeniyle, MVC yapılarına ilk başlayan programcılar için tercih edilir.