16 Aralık 2011 Cuma

PHP ve Framework üzerine - Symfony 2, 3/...

Bu yazılar Symfony2 sitesindeki dökümantasyona bağlı olarak seyredecektir...

Haydi başlayalım ,,,,, nerdenmi tabiki kurulumdan ;

ilk olarka kullandığınız ortama bağlı symfony2 paketini indirmekle başlayabilirsiniz...
Vendorları içeren paketi indirerek web sunucunuzun root klasörüne Symfony olarak
paketimizi açtığımızda

http://localhost/Symfony/web/config.php adresinden configürasyon sayfasına ulaşabilirsiniz.

Configure your Symfony Application online> seçeneği ile interaktif olarak veritabanı parameterelerini ve güvenlik tuzunu düzenleyebilirsiniz...

Ayrıca Sayfaki notta iletildiği üzere bu yapılan düzenlemeler app/config/parameters.ini dosyası üzerine kaydedilmekte, istenirse ellede düzenlenebilmekte, yada değiştirilebilmektedir.

Dosyanın içeriği aşağıdaki gibi... ne işe yaradıkları başlıklarından da anlaşılabilir.

[parameters]
database_driver="pdo_mysql"
database_host="localhost"
database_port=""
database_name="symfony"
database_user="root"
database_password=""
mailer_transport="smtp"
mailer_host="localhost"
mailer_user=""
mailer_password=""
locale="en"
secret="88a23b5ffabfa4d17cda6a107293dbac4"

NOT : Genel olarak php framework veya diğer php uygulamalarında güvenlik için php doyalarımızın mümkün olduğunca azı web yoluyla ulaşılabilir olmalıdır. .htaccess dosyaları apache sunucularda bu işlevi de yerine getirmekte. Çoğunlukla web den ulaşılan klasörler yerine php uygulama dosyaları www klasörlerinin dışında bir yere atılmaktadır.
Symfony2 de ise web isimli klasör dışındaki alanlar güvenli bölgedir ve erişlemez durumda bulunmakta. Böylelikle güvenlik zaafı en aza indirilmeye çalışılmaktadır. Tabi herzaman kullanıcı faktörü ve yazılımcı faktörü işin içinde bulunuyor..

kurulum işlemi kısaca bu kadar...
Sonraki yazıda Uygulama, Environments, Bundle gibi kavramlar üzerinde çalışıyor olacağım.
Mümkün olduğu kadar paylaşmaya çalışacağım ..

PHP ve Framework üzerine , Yii Framework - CakePhp Framework - CodeIgniter Framework - Symfony 2 - 2/....

Testlerim sonunda aslında bana en uygun olanın daha doğrusu ihtiyaçlarımıza en uygun olanın Symfony olduğunu farkettim.
Sebep ;
.net çalışmış birisi olarak gerçekten Symfony'i hazırlayanlara hayranlık duymamak elde değil.... Application, Environmentler, Bundle ..... Hepsinin karşılığı var , gerek javada gerekse .net te
yani object orient mimarisinin ve php yalınlığının tüm nimetlerini kullanmaya çalışmış ve çok emek vermişler.

Bundan sonraki paylaşımlarımda Symfony 2... sürümü ile ilgili yazılar yazmaya çalışacağım. 1.4 sürümü artık son destek aşamasına gelmiş ve bi süre sonra desteği geliştirmesi sonlandırılacağı için (http://www.symfony-project.org/installation) bu sürümü tercih ediyorum. Halbuki 1.4 karşılığı olarak birçok döküman ve kaynak bulmak ki en zengini kendi sitelerinde mevcut...
Zaman varsa, Risk almak herzaman iyidir...

Birsonraki yazıda ilk symfony adımları ile işimize başlayabiriliz...

Bu arada php ve bu tarz framework ile çalışacaksanız , (Özellikle yeni başlayanlar için)

Zend, ACL, ITL, PEAR vb. Apache ve php tabanlı geliştirilmiş eklentileri,

Ayrıca Windows ta çalışacaksanız,
Xamp Wamp Mamp gibi bir apache mysql çalıştırabilen uygulamayı yada
IIS üzerinde php kurmayı denemenizi
sonra bu framework üzerinde çalışmanızı öneririm.

Özellikle , ben şuanki özel durumumdan dolayı yapamıyorum fakat, sanal bir Linux kurup üzerinde gerçek bir web ve mail sunucusu, mysql çalıştırmak, gerçek ortamla paralel işler yapmak hem linux shel öğremenizi, hemde consol ile çalışmanızı sağlayacak, cron job gibi zamanlanmış görevleri test edebilmenize imkan tanıyacaktır.


görüşmek üzere
(tabi okuyan birileri varsa ki bu kadar blogun arasında bu yazı 1 kaç yıl sonra okunacaktır bundan da eminim :) )

14 Aralık 2011 Çarşamba

PHP ve Framework üzerine , Yii Framework - CakePhp Framework - CodeIgniter Framework - Symfony 2

Merhaba,


Bir arkadaşımın php ile yapalım bak onda da frameworkler var. demesi üzerine hazırlayacağımız siteler için frameworkleri incelemeye başladık. Hay incelemez olaydım da diyemiyorum çünkü oldukça verimli bir hafta oldu.

Google'a sordum php frameworkler neler.. Oda bana dediki, bak kardeş şöyle bi liste var
burada özelliklerine göre framework kıyaslamalarıda var bi gözat dedi. Adres : http://www.phpframeworks.com/

İncelediklerim sırası ile
- Yii Framework
- CakePhp Framework
- CodeIgniter Framework
- Symfony 2

Tabi incelemeye başlamadan önce en eskilerden olan symfony framework sitesini inceledim ... aşıır karmaşık geldiği için :) geri adım atmak zamanıdır diyerek plana sadık kaldım... Basit, hızlı kod yazılabilen, bir framework arayışı içindeyiz...

Yii Framework :
İlk olarak hemen Yii framwork indirip
Dökümanlarını kurcalamaya başladım.Ve okuduklarım üzerine Xamp üzerinde kurulum yaptım.
Sonra dökümanları kurcalayarak, gii isminde kod oluşturulabilmesini sağlayan aracı ile veritabanında hazırladığım tablolar için MVC konseptine uygun sayfalar oluşturulmasını sağladım.
SORUN : Hala many-to-many ilişkileri otomatik olarak kullandırtamıyorlar. Php de iyiyseniz bi şekilde aşılabilir fakat benim ihtiyacım olan şey kolaylıkla bu sorunları aşabilen bir yapı olduğundan bir süre inceledikten sonra vazgeçmek oldu ve CakePHP yi denemek üzere Yii ile vedalaştım....

CakePhp Framework :
Aynı şekilde kaynak koldarı indirip , dökümanlardaki anlatıma göre kurulumları düzenledim. Test için sayfalar yaptım Yii ile aynı şekilde kod hazırlamak üzere console kullanımını öğrenerek test etmeye başladım. Tıpkı yii de olduğu gibi karmaşık ilişkili tablolar ile çalışırken ki genelde bu yapılara bol bol ihtiyaç duyacağız.... işlerin pekte yolunda gitmediğini farkettim... Hata olarak ısrar ettim ve sayfalar dolusu döküman ebook inceledim ve vazgeçmem gerektiğini anlayarak bir parça kek alıp yoluma devam etme kararı aldım...

Devamı sonra.... Symfony 2 yi test etmem gerekiyor... Bu kadar ara yeter... ;)