Furkan Tektaş

Yii Framework'un Logosu

06 Ağustos 2011

Yii Framework’e Giriş

Bu yazımda Yii framework‘e kısa bir giriş yapacağım. Yii framework’u, her framework’un iddia ettiği gibi en hızlı framework olduğunu iddia ediyor; benchmark sonuçlarını kendi sayfasından da bulabilirsiniz.

Öncelikle yii framework’un son sürümünü indirme sayfasından indiriyoruz.  (Bu yazıyı yazarken en güncel sürüm 1.1.8′di.). İndirdiğimiz dosyayı web dizinimize çıkartıyoruz ve klasörün adını “yii” diye değiştiriyoruz(bu değişikliği yapmamın sebebi sürüm güncellendiğinde de makalenin güncelliğini koruması, yapmanıza gerek yok)

Web dizinimiz altındaki “yii” klasörünün içinde demos, framework, requirements isminde üç adet klasör var. Framework klasörü tahmin edebileceğiniz gibi asıl işi yapan klasör; demos klasörü ise yii ile yapılmış basit 4 adet projeyi içeriyor; requirements klasörü ise server konfigürasyonumuzun yii’ye uygun olup olmadığını denetleyebileceğimiz gereksinim kontrollerini yapan dosyaları içeriyor.

Yii ile bir projeye başlamadan önce 127.0.0.1/yii/requirements adresinden yii’nin gereksinimlerini karşılayıp karşılamadığımızı kontrol ediyoruz:

yii requirements

Eğer bu sayfada bir hata almamışsak, büyük ihtimalle yii framework’üyle bir sorun yaşamayacağız demektir, devam edebiliriz. Şimdi web dizininde ilkproje isminde bir proje oluşturalım. Bunun için komut satırından web dizinimize gidiyoruz; daha sonra:

cd /yii/framework
chmod +x yiic
./yiic webapp ../../ilkproje

komutlarını giriyoruz. Eğer windows kullanıyorsanız “./yiic” yerine “yiic.bat” yazmanız gerekmektedir. Bundan sonra yii bize web dizinimizde ilkproje isminde bir web aplikasyonu oluşturmak istediğimize emin olup olmadığımızı sorar. “yes” yazarak bu ilk projemizi oluştururuz. Burada konsol çıktısı aşağıdaki gibidir.

Create a Web application under '/var/www/ilkproje'? [Yes|No] yes
      mkdir /var/www/ilkproje
   generate index.php
      mkdir /var/www/ilkproje/images
      mkdir /var/www/ilkproje/protected
      mkdir /var/www/ilkproje/protected/extensions
      mkdir /var/www/ilkproje/protected/data
   generate protected/data/schema.sqlite.sql
   generate protected/data/testdrive.db
   generate protected/data/schema.mysql.sql
   generate protected/yiic.php
      mkdir /var/www/ilkproje/protected/components
   generate protected/components/Controller.php
   generate protected/components/UserIdentity.php
      mkdir /var/www/ilkproje/protected/config
   generate protected/config/main.php
   generate protected/config/test.php
   generate protected/config/console.php
      mkdir /var/www/ilkproje/protected/models
   generate protected/models/LoginForm.php
   generate protected/models/ContactForm.php
      mkdir /var/www/ilkproje/protected/views
      mkdir /var/www/ilkproje/protected/views/site
   generate protected/views/site/index.php
   generate protected/views/site/error.php
   generate protected/views/site/login.php
      mkdir /var/www/ilkproje/protected/views/site/pages
   generate protected/views/site/pages/about.php
   generate protected/views/site/contact.php
      mkdir /var/www/ilkproje/protected/views/layouts
   generate protected/views/layouts/column2.php
   generate protected/views/layouts/main.php
   generate protected/views/layouts/column1.php
      mkdir /var/www/ilkproje/protected/controllers
   generate protected/controllers/SiteController.php
      mkdir /var/www/ilkproje/protected/runtime
      mkdir /var/www/ilkproje/protected/commands
      mkdir /var/www/ilkproje/protected/commands/shell
   generate protected/yiic
   generate protected/yiic.bat
      mkdir /var/www/ilkproje/protected/migrations
      mkdir /var/www/ilkproje/protected/messages
      mkdir /var/www/ilkproje/protected/tests
   generate protected/tests/WebTestCase.php
      mkdir /var/www/ilkproje/protected/tests/functional
   generate protected/tests/functional/SiteTest.php
      mkdir /var/www/ilkproje/protected/tests/fixtures
   generate protected/tests/phpunit.xml
      mkdir /var/www/ilkproje/protected/tests/unit
      mkdir /var/www/ilkproje/protected/tests/report
   generate protected/tests/bootstrap.php
   generate protected/.htaccess
      mkdir /var/www/ilkproje/themes
      mkdir /var/www/ilkproje/themes/classic
      mkdir /var/www/ilkproje/themes/classic/views
      mkdir /var/www/ilkproje/themes/classic/views/system
      mkdir /var/www/ilkproje/themes/classic/views/site
      mkdir /var/www/ilkproje/themes/classic/views/layouts
   generate themes/classic/views/.htaccess
   generate index-test.php
      mkdir /var/www/ilkproje/assets
      mkdir /var/www/ilkproje/css
   generate css/print.css
   generate css/form.css
   generate css/main.css
   generate css/ie.css
   generate css/bg.gif
   generate css/screen.css

Your application has been created successfully under /var/www/ilkproje.

Şimdi projemize 127.0.0.1/ilkproje adresinden ulaşabiliriz. Biraz komplex bir hello world değil mi :)

Projemizin anasayfası
Şimdi burada yii bize güzel bir başlangıç sayfası vermiş ve bu sayfayı nasıl düzenleyebileceğimizi söylemiş. Sayfamızda da yazdığı gibi bu sayfanın içeriğini /var/www/ilkproje/protected/views/site/index.php dosyasından değiştirebiliriz.

Üstteki menüden ise farklı sayfaları gezebiliriz. Bu sayfalara bir göz atalım:

“About”: Bu statik bir sayfadır, yii burada yine bize bu sayfanın içeriğini nasıl değiştirebileceğimizi söylemiş.

“Contact”: Bu sayfa iletişim formunun olduğu bir sayfa. Dikkat etmişseniz textbox’lara girdiğiniz bilgiler ajax ile doğrulanıyor ve de sayfanın altında gerçekten çalışan bir captcha var. Biraz fazla gelişmiş bir “hello world” demiştim:)

“Login”: Bu sayfa da gerçekten çalışmakta olan bir giriş sayfası. Yii bizim için kullanıcı adı ve şifreleri aynı örnek iki adet kullanıcı oluşturmuş: kullanıcı adı ve şifreler ise sayfada yazdığı gibi demo/demo ve admin/admin. Evet buradan anlayabileceğiniz üzere yii bize farklı işlemler için farklı yetkilendirmeler tanımlayabileceğimiz bir sistemi de hazırlamış durumda:)

Yii framework’u ile gayet şık ve işlevsel bir “hello world” hazırladık, ileride daha da derinlere girmek dileğiyle..

Not: Yukarıdaki işlemler Ubuntu 10.10 üzerinde gerçekleştirilmiştir.

Kategori: PHP | Tagler: framework, php, yii

Yii Framework’e Giriş yazısına toplam 6 yorum yapılmış.

    • Bir süredir local olarak yii ile uğraşıyorum; daha öncesinde öğrenme safhasında http://emushaf.net‘i yapmıştım. Tavsiye ederim çünkü framework yapısında ne var ne yok import edip sistem kaynağı harcamıyor; gerekli olan şeyleri include ediyor o kadar. Bu nedenle hızlı; güvenlik konusunda gayet beğeniyorum; modellerde validation yapılıyor ve ajax ile validation yapmak için kod dahi yazmıyorsun:) MVC kullanıyor ve büyük projelerde çok ciddi zaman kazancı sağlıyor.

  1. ["cd /yii/framework
    chmod +x yiic
    ./yiic webapp ../../ilkproje
    komutlarını giriyoruz. Eğer windows kullanıyorsanız “./yiic” yerine “yiic.bat” yazmanız gerekmektedir. "]

    windowsta nasıl yapılacağını KOD olarak yazabilirmisiniz…
    Windows’da framework nasıl kuruluyor?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>