zend framework\'e hizli giris

33
Zend Framework’e Hızlı Giriş Eser SAHİLLİOĞLU Bilkent Üniversitesi

Upload: sascoms

Post on 20-Jun-2015

5.263 views

Category:

Documents


1 download

DESCRIPTION

A quickstart and introduction to Zend Framework seminar.

TRANSCRIPT

Page 1: Zend Framework\'e Hizli Giris

Zend Framework’e Hızlı Giriş

Eser SAHİLLİOĞLUBilkent Üniversitesi

Page 2: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 2

Konu Başlıkları

• Zend Framework Nedir?• Özellikleri• MVC Nedir?• Gereksinimler?• Nasıl Kurulur?• Proje Oluşturma [Makaleler Modülü]

• Dizin Yapısı• Proje Ayarları• Örnek Uygulama

Page 3: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 3

Zend Framework nedir?

• PHP 5 tabanlı• açık-kaynak kodlu• OO mantığında tasarlanmış ve kodlanmışbir web uygulamaları geliştirme altyapısıdır.

Page 4: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 4

Özellikleri

• PHP 5 tabanlı• açık-kaynak kodlu• OO tasarım ve koda sahip• MVC yapısına uygun• MVC yapısı dışında PEAR mantığında da

kullanılabilir• Genişletilebilir• Ticari ve kurumsal kullanım konusunda lisans

sorunu yok

Page 5: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 5

MVC Nedir?

• MVC: Yazılım tasarımında ve geliştirmede kullanılan bir yaklaşım/konsept

• M: Model– Veritabanı benzeri veri kaynakları ile ilgili işlemleri

yapan katman• V: View– İşlenmiş verinin sunulduğu katman

• C: Controller– V ile M arasındaki bağlantıyı sağlayan ve uygulamaya

ait temel işlemlerin yapıldığı katman

Page 6: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 6

Gereksinimler

• +PHP bilgisi – ~deneyim – ~okuma

• Web Sunucusu (+DBMS)– [Zend Server, WAMP, XAMPP vb.]

• Zend Framework• Heves veya mecburiyet

Page 7: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 7

Nasıl Kurulur?

• İndirme adresi: http://framework.zend.com

Page 8: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 8

Nasıl Kurulur?

• Açılacağı dizin: d:\zf

Page 9: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 9

Nasıl Kurulur?

• Sistem değişkenleri güncellenir:– ;d:\zf\bin;d:\zf\library;d:\xampp\php– Bakınız: Şekil 1

Page 10: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 10

Nasıl Kurulur?Şekil 1

Page 11: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 11

Nasıl Kurulur?

• Apache virtual host modülü etkinleştirilir:– d:\xampp\apache\conf\httpd.conf • Etkinleştirilecek satır:

– Include conf/extra/httpd-vhosts.conf

Page 12: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 12

Nasıl Kurulur?

• Apache rewrite modülü etkinleştirilir:– d:\xampp\apache\conf\httpd.conf• Etkinleştirilecek satır:

– LoadModule rewrite_module modules/mod_rewrite.so

Page 13: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 13

Nasıl Kurulur?

• Apache’ye virtual host tanımı eklenir:– d:\xampp\apache\conf\extra\httpd-vhosts.conf• zfsite.local domain’i eklenir:

– Örnek dosya için: sample-application\apache.new.virtual.host.txt

Page 14: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 14

Nasıl Kurulur?

• Hosts dosyasına domain kaydı eklenir:– C:\WINDOWS\system32\drivers\etc\hosts

• 127.0.0.1 zfsite.local

– Test:• http://zfsite.local

Page 15: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 15

Nasıl Kurulur?

• php.ini ayarları yapılır:– Güncellenecek satır:

• include_path = ".;d:\xampp\php\pear\;d:\zf\library"

– Etkinleştirilecek satır: • extension=php_pdo_mysql.dll

Page 16: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 16

Nasıl Kurulur?

• Bilgisayarınızı yeniden başlatın...

Page 17: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 17

Nasıl Kurulur?

• ZF Tool:• Start -> Run -> cmd– Test:• zf show version• zf show phpinfo

Page 18: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 18

Proje Oluşturma

• ZF Tool:• Start -> Run -> cmd– cd d:\zf– mkdir zfsite– zf create project zfsite

Page 19: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 19

Proje Oluşturma

• Test:– http://zfsite.local

Page 20: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 20

Dizin Yapısı• zfsite• |-- application• |-- Bootstrap.php• |-- configs• | -- application.ini• |-- controllers• | -- ErrorController.php• | -- IndexController.php• |-- models• -- views• |-- helpers• -- scripts• |-- error• | -- error.phtml• -- index• -- index.phtml• -- library• -- public• |-- .htaccess• -- index.php• -- tests• -- application• -- bootstrap.php• -- library• -- bootstrap.php• -- phpunit.xml

Page 21: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 21

Proje Ayarları

• ZF Tool:• Start -> Run -> cmd

-cd d:/zf/zfsite• zf enable layout

Page 22: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 22

Proje Ayarları

• Layout için ayarlar - 1– Güncelle:– d:\zf\zfsite\application\configs\application.ini • production–resources.view[] =

– Örnek dosya için: sample-application\application.ini

Page 23: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 23

Proje Ayarları

• Layout için ayarlar - 2:– Güncelle• d:\zf\zfsite\application\Bootstrap.php

– Örnek dosya: sample-application\bootstrap.php– protected function _initDoctype()– {– $this->bootstrap('view');– $view = $this->getResource('view');– $view->doctype('XHTML1_STRICT');– }

Page 24: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 24

Proje Ayarları

• Layout için ayarlar - 3:– Güncelle

• d:\zf\zfsite\application\layout.phtml–Örnek dosya: sample-application\layout1.phtml<?php echo $this->doctype() ?><html xmlns="http://www.worg/xhtml"><head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Zend Framework Quickstart Application</title>

</head><body>

<?php echo $this->layout()->content ?></body></html>

Page 25: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 25

Proje Ayarları

• Veritabanı ayarları– Start -> run -> cmd• cd d:\zf\zfsite• zf configure db-adapter

"adapter=PDO_MYSQL&dbname=zfsitedb&host=localhost&username=zfuser&password=zfpass" production• Uyarı: Şifreyi boş bırakırsanız ZF uygulamanızı webte

açtığınızda hata verecektir.

–Apache’yi kapatıp açın.

Page 26: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 26

Örnek Uygulama

–PhpMyAdmin• create table articles;

– Örnek sql dosyası için: sample-application\articles.table.sql

Page 27: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 27

Örnek Uygulama

– Güncelle:– d:\zf\zfsite\application\layouts\scripts\layout.phtml• Örnek uygulamamızın sayfasına link verelim.• Örnek kod: sample-application\layout2.phtml

Page 28: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 28

Örnek Uygulama

– Controller ekleyelim• zf create controller Articles

– Articles Controller için listAction oluşturalım• zf create action list Articles• listAction kodunu yazalım• Örnek dosya için: sample-application\controller.php

– listAction için view kodunu yazalım• Örnek dosya için: sample-application\views.list.php

– indexAction’ı listAction’a yönlendirelim• $this->_helper->redirector('list');

– Örnek dosya için: sample-application\controller.php

Page 29: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 29

Örnek Uygulama

– Articles için db-table model ekleyelim• zf create db-table Articles articles

– Yeni Articles db-table model dosyamızı güncelleyelim• Örnek dosya için: sample-application\

dbtable.model.php

Page 30: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 30

Örnek Uygulama

– ListAction’a ait list.phtml isimli view dosyamızı güncelleyelim:• Örnek dosya içeriği için: sample-application\views.list.phtml

– Test edelim:• http://zfsite.local -> Makaleler

Page 31: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 31

Örnek Uygulama

– Articles için yeni makale ekleme formu oluşturalım• zf create form Articles

– ArticlesForm dosyamızı güncelleyelim:• Örnek dosya/kod için: sample-application\forms.articles.php

Page 32: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 32

Örnek Uygulama

• Yeni makale ekleyecek addAction sayfamızı oluşturalım:– zf create action add Articles

• addAction kodunu yazalım– Örnek dosya için: sample-application\controller.php

• addAction için view kodunu yazalım– Örnek dosya için: sample-application\views.add.php

Page 33: Zend Framework\'e Hizli Giris

Zend Framework'e Hızlı Giriş 33

Örnek Uygulama

– Test:• http://zfsite.local -> Makaleler –> Ekle• http://zfsite.local -> Makaleler –> Listele