Zend Framework Başlangıç – Kurulum
Zend Framework artık gerçek anlamda bir framework olmakla beraber ciddi bir kütüphanedir de. Yazmayı planladığım bu yazı dizisinde bu framework tanışma ve en hızlı şekilde ilerleme amaçlanmaktadır.
Bu yüzden hem size hem de daha sonra okuyacak olanlara yardımcı olması için okurken notlar almanızı anlaşılmayan ve karışık bölümlerini bana özel ya da yorum olarak göndermenizi rica ediyorum.
İşe PHP 5 (evet, ZF PHP4 desteklememektedir) kurulu sunucumuzda include_path’i [1] tespit etmekle başlayalım. Bunun için Document Root’a [2] info.php adında dosya açıp phpinfo(); komutunu yazmamız yetecek.
info.php Kaynak Kodu:
<?php phpinfo();
Bu adresi çalıştırdığımızda çıkan sonuçlar arasında ‘include_path’ in karşısında yazılan dizin isimlerini göreceksiniz. Bende ‘/usr/share/php’ dizinidir.
Zend Framework sitesinden indirdiğimiz [3] son sürümü (bu gün itibariyle 1.8.2) sıkıştırılmış dosyasında çıkarıyoruz. library içerisindeki Zend dizinini olduğu gibi include_path’lerinizden birisine kopyalıyoruz. (/usr/share/php/Zend/)
İşletim sisteminiz linux ve türevlerinden birisi ise
indirdiğimiz[4] bin dizini içerisindeki zf.sh, zf.php dosyalarını da taşıdığımız Zend dizinin yanına kopyalıyoruz. (/usr/share/php/zf.sh ve /usr/share/php/zf.php)
zf.sh dosyasına alias oluşturuyoruz :
~$ alias zf='/usr/share/php/zf.sh'
İşletim sisteminiz Windows ise
indirdiğimiz bin dizini içerindeki zf.bat ve zf.php dosyalarını Document Root’a atıyoruz.
Artık ilk ZF uygulamamızı yazmaya başlayalım:
Linux için:
Uç birimi çalıştırıp Masaüstü’ne gelip (cd ./Desktop veya cd ./Masaüstü) aşağıdakı komutu çalıştırıyoruz:
~$ zf create project zfprojem
Windows için :
Dos ekranından zf.bat dosyasının bulunduğu klasöre gelip aşağıdakı komutu çalıştırın:
C:\php> zf.bat create project zfprojem
Artık oluşan zfprojem dizini bir ZF projesidir.
Dizin içeriği aşağı yukarı şu şekildedir:
zfprojem/application zfprojem/application/Bootstrap.php zfprojem/application/configs zfprojem/application/configs/application.ini zfprojem/application/controllers zfprojem/application/controllers/IndexController.php zfprojem/application/controllers/ErrorController.php zfprojem/application/models zfprojem/application/views zfprojem/application/views/helpers zfprojem/application/views/scripts zfprojem/application/views/scripts/index zfprojem/application/views/scripts/index/index.phtml zfprojem/application/views/scripts/error zfprojem/application/views/scripts/error/error.phtml zfprojem/library zfprojem/public zfprojem/public/.htaccess zfprojem/public/index.php zfprojem/.zfproject.xml
daha sonra bu dizinler ve dosyalar teker teker anlatılacaktır.
Şimdi yapmanız gereken zfprojem içerisindeki tüm dosya ve dizinleri zfprojem/public/ Document Root’a denk gelecek şekilde taşımak. Örneğin http://localhost yazınca çalışması gereken dosya public içerisindeki index.php olmalıdır. Bu sayade tüm kodlar Document Root’un üst dizinlerinde kalır. Bu da extra güvenlik demektir.
Daha güzel bir şekilde anlatırsak, apache virtual host kaydı bu şekilde olacaktır:
<VirtualHost example.com:*> DocumentRoot /var/www/zfprojem/public </VirtualHost>
Buraya kadar yapmamız gerekenleri doğru bir şekilde yaptıysak artık tarayıcımıza yeni bir pencere açıp projemizi çalıştırabiliriz. ZF ekibinin sizin için hazırlarığı “Hoş Geldin” mesajını görebiliyorsanız başarmışsınız demektir. Bu iyi bir ZF sever olacağınızın işaretleridir. Yok biryerlerde takıldıysanız bu da benim sorunumdur. Lütfen konuya ilgili geniş bir mail atın. Size ve sonrakilere yardımcı olmak için heyacanlanıyorum.
ZF’nin hayatınıza katacağı kolaylıkları hayal etmeye başladığınızı umarak ileriki konularda görüşmek üzere diyorum …
[1] include_path herhangi bir php dosyasından include(‘dosya_adi.php’); şeklinde çağrıla bilen dosyaları içeren dizin veya dizinlerdir.
[2] Document Root genelde http://localhost veya http://domainadi yazdığımızda çalışan dizindir.
[3] http://framework.zend.com/download/latest
[4] [3] de belirtilen adresten indirip açtığımız dosya

Türkçe
Azərbaycanca
Eline sağlık.
şuanda e ticaret benzeri hatta e ticaret barındıran içersinde bi site kodluyorum , kendi framework umu oluşturcam dedim ya, mvc ile işe başladım ve class larımı yazıyorum ,bu yazdıklarını okuyorum da adapte olmakta sıkıntı daha doğrusu zaman babında kaybım olurmuş gibi geliyo zend i öğrenip o şekilde mi geliştirmeliyim sence daha doğrusu öğrenem sürecinde nasıl sıkıntılarla karşılaşırım(ingilizcem hala kötü) yorumunu bekliyorum elvin iyi çalışmalar …
Daha önce de söylediğim gibi zaman açısından yeni bir kütüphane yazmaktan kat kat daha tasarruflu. Tabi ki kaynağının tamamı ingilizce gerektirdiği için sıkıntıların olur, Ama en sıkıntılı kısmı başlanğıc ve kurulum. Bu makaleleri takib ederek bunu başardıysan gerisi güzel devam edecek. Güven bana
şite tek sıkıntım zamanın dar olması , bir sürü şey var kafamda kararsızlık çekiyorum herşeyi bir yerlerinden öğreneyim derken hiç birşey öğrenemiyorum aslında , şimdi birde sen burdan kurulumdan başlayıp devam et dedin kafamda bi baloncuk daha oluştu …
Makaleniz için teşekkürler. Shared bir hosting kullanıyorsak public dizinini .htaccess vb. şekilde nasıl root olarak gösterebiliriz?