Symfony PHP5 Framework

EftelyA

Yaşayan Forum Efsanesi
22 Kas 2007
9,097
59
EsEs
Symfony, PHP5 ile çalışan MVC tabanlı ve AJAX destekli bir framework uygulamasıdır. Yerleşik kütüphanelerinin yardımı ile hızlı bir şekilde web uygulamaları geliştirmeye olanak tanır. Dokümantasyon açısından da benzer uygulamalara nazaran çok daha tatminkardır.
Kurulum Notları


Symfony kurmak için ihtiyacınız olan temel bileşenler Apache, PHP ve PEAR olarak belirtilebilir. Eğer elinizde halihazırda birbiri ile uyumlu çalışan bu üç bileşen var ise kısa bir süre içerisinde Symfony kurulumunuzu gerçekleştirip üzerinde çalışmaya başlayabilirsiniz.


info2.gif
Yazı dizisi boyunca uygulama örneklerini ve destek komutlarını Debian Linux işletim sistemi için vereceğim. MS Windows veya diğer işletim sistemleri için web sitesine göz atabilirsiniz. Ayrıca giriş seviyesi bir Linux kullanıcısıysanız ve PEAR ile sorun yaşamak istemiyorsanız kurulumu Türkçe işletim sistemi üzerinde denemeyin
58.gif



# apt-get install apache2, php5, php5-cli, php-pear
# pear upgrade PEAR
# pear channel-discover pear.symfony-project.com
# pear install symfony/symfony
# symfony -V


Yukarıdaki işlemleri sırayla gerçekleştirebildiğiniz takdirde Symfony başarı ile kurulmuş demektir. Eğer sisteminizde web sunucusu ve php zaten çalışıyor ise ilk maddeyi atlayabilirsiniz. Unutulmaması gereken ilk şey symfony kurulumundan önce cli için ayrılmış php.ini dosyasında kullanılabilir bellek miktarını 8M den 16M değerine çıkarmalısınız. Bunu yapmak için /etc/php5/cli/php.ini dosyasında memory_limit karşısındaki değeri düzenlemelisiniz.

Symfony ile hazırlayacağınız bir projeye web sunucunuzdan ulaşmak için mod_rewrite kullanmanız gerekiyor. Apache2 web sunucusu için aşağıdaki komutu kullanarak mod_rewrite ı aktif hale getirebilirsiniz.

#a2enmod rewrite

Eğer rewrite modülünü başarıyla açtıysanız yapmanız gereken şey artık web sunucunuzu symfony için konfigüre etmektir. Bunun için aşağıdaki konfigurasyonu uygulamanız başlangıç için yeterli olacaktır.


<VirtualHost www.deneme.com:80>
ServerName symfony-deneme
********Root "/var/www/web"
DirectoryIndex index.php
Alias /sf /usr/share/php/data/symfony/web/sf
CustomLog /var/log/apache2/deneme_access.log common

<Directory "/var/www/web">
AllowOverride All
Order deny,allow
Allow from All
</Directory>
</VirtualHost>

<Directory "/usr/share/php/data/symfony/web/sf">
Allow from All
</Directory>


İlk Proje
Yukarıdaki kod web sitenize gelen istekleri web dizini altındaki index.php dosyasına yönlendirir. Böylece gelen tüm istekler bu dosya tarafından karşılanmış olur. Symfony framework tüm sunum son kullanıcının erişebileceği tüm sunumu buradaki web dizininden gerçekleştirir. Artık son kullanıcı için web root dizinin burasıdır. Ancak geliştirici tarafta durum böyle değildir. Aşağıda geliştirici taraf için önem arz eden dizinlerden birkaçını görüyorsunuz.


apps/
cache/
config/
lib/
web/


apps tüm projeniz ile ilgili tüm geliştirme işlemlerinin yürütldüğü dizindir. Altında projeler ve modüller barındırılır. cache dizini symfony ayarlarının ve session açan kullanıcıların bazı bilgilerinin tutulduğu bir dizindir. config dizini framework ayarlarının yapıldığı dizindir. Çalışmalarınızın genel ayarlarını barındırır ancak projelerine özel ayarları içermez. Onlar apps dizi altında projenizin dizini içerisinde barındırılır. lib dizini model sınıfları ve tüm çalışmalarınızda kullanmak üzere tanımlayabileceğiniz özel sınıflarınızı barındırır.
Artık ilk kodlarımızı yazma vaktimiz geldi. Bunun için Symfony ile bir proje oluşturmalıyız.


# cd /var/www
# symfony init-project deneme
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.