Bildiğini öğretmeyen, hiçbir şey bilmiyor demektir.
PHP
Symfony Nedir?
17 Ara
İlk sürümünden itibaren php5 kullanan, eğer daha önceden bir visual programlama aracı kullanmış iseniz aa buda mı varmış? deyip kolaylıkla alışacağınız, Eclipse PDT yada Netbeans kullanılırsa autocompletion ile tadından yenmeyen, orm olarak propel ve doctrine ile gelen, admin generator ile hayat kurtaran backend applicationlar yazılabilen, benim için gerçek bir hayat öpücüğü olan şey.
Çok iyi ve fazla bir şekilde ayrıntılandırılan yapısı itibarı ile multi-lingual devasa boyutlardaki siteler için biçilmiş kaftandır, 5-6 sayfalık siteler için pek de uygun değildir denilse de database ve i18n gibi özellikleri kapatılırsa ve full layout cache ile gayet de hızlı çalışmaktadır.
Fatal error: Class ‘sfInflector’ not found – Symfony 1.4.1
17 Ara
Linux işletim sisteminde Symfony 1.4 sürümü için , bu hatayı alırsanız,
Fatal error: Class 'sfInflector' not found
Muhtemelen tr_TR yereli ile çalışan bir işletim sisteminiz var demektir ve PHP’nin strtolower fonksiyonu tr_TR yerelinde I harfini i harfine küçültemektedir.
Muhtemelen daha iyi çözümleri vardır, ama en kolay ve kısa çözüm, lib/autoload/sfCoreAutoload.class.php dosyası 440. satırı
'sfinflector' => 'util/sfInflector.class.php',
aşağıdaki satır ile değiştirin.
'sfInflector' => 'util/sfInflector.class.php',
Artık symfony şeker gibi çalışacaktır.
Symfony ve sfPropelFinder
6 Eyl
Sabah bir projede sfPropelFinder’i kullandım, oldukça hoşuma gitti. Normal Peer ve Criteria ile yapılan işi bakınız nasıl da şiir gibi hallediyoruz:
1 2 3 4 5 6 | // Peer ve Criteria $c = new Criteria() $c->add(EmlakPeer::BASLIK, '%nice', Criteria::LIKE); $c->add(EmlakPeer::ETKIN, true); $c->addAscendingOrderByColumn(EmlakPeer::UPDATED_AT); $emlaklar = EmlakPeer::doSelectJoinBolge($c); |
1 2 3 4 5 6 7 | // sfPropelFinder ile (: $emlaklar = sfPropelFinder::from('Emlak')-> where('Baslik', 'like', '%nice')-> where('Etkin', true)-> orderBy('UpdatedAt')-> with('Bolge')-> find(); |
Symfony 1.1 kurulumu
27 Nis
Nedense pear remote-list -c symfony sonucunda symfony 1.1 beta gözükmeyince kurup deneyememiştim. Artık bu şekilde kurabiliyorum
pear install -f symfony/symfony-1.1.0beta3
Güzel bir kod editörü: Cream
27 Nis
Bu adresden indirebileceğiniz Cream özellikleriyle gönlümü fethetti. Eclipse’den vazgeçsem mi acaba?
Symfony observe_field İE sorunu
4 Mar
Aşağıdaki kodu Firefox’da düzgün çalışıyor ama İE6 ve İE7 de çalışmıyor. Fakat müşterim İnternet Explorer’da ısrar edince biraz araştırdım. Sorun Symfony ile gelen prototype kütüphanesinde. 1.50 olarak gelen kütüphaneyi güncelleyince çalışmaya başladı.
echo observe_field(‘arac_marka_select’, array(
‘update’ => ‘markamodel’,
‘url’ => ‘ikincielaraclar/modelGetir’,
‘method’ => ‘get’,
‘with’ => “‘id=’+$(‘arac_marka_select’).value”,
‘script’ => true
));
Doctrine: Hayran kaldım :)
11 Oca
Bir proje için php5 ORM arıyordum, Symfony’den aşina olduğum ama propel yüzünden hiç kullanmadığım Doctrine’i inceleme fırsatı buldum bugün.
Bu linkte görebileceğiniz üzere table-inheritance beni hayran bıraktı. Muhakkak incelenmeli…
php4 ve php5 birlikte kurulum
17 Oca
Aslında başlık biraz eksik oldu, amacım, php4 sürümü ile php5 sürümünü aynı sunucuda kurmak ve .php uzantılarını php5 ile yorumlatıp, .php4 uzantılı dosyaları da php4 ile yorumlatmak.
Neden böyle bir şeye ihtiyaç duyayım?
Şimdi, web tasarımcısı (yada programcısı,) olunca haliyle bilgisayarınızda bikaç yüz tane web sitesi oluyor. Kimisi php4 sürümüne göre yazılmış kütüphanelerle çalışıyor, kimileri de bence php için en güzel kütüphanesi olan Symfony ile yazılmış durumda, bu durumda 2. bir bilgisayarı bu işe ayıramayacağımıza göre, ben de nette bunu biraz araştırıp yapmaya karar verdim.
2-3 saatlik bir uğraştan sonra httpd.conf dosyasını aşağıdaki gibi düzenleyince .php4 uzantılı dosyalar php4 ile .php5 uzantılı dosyalar da php5 ile yorumlanmaya başladı.
Kendi httpd.conf dosyam şu şekilde:
1. Burası php5 için
495 496 | PHPIniDir "C:/Program Files/PHP/" LoadModule php5_module "C:/Program Files/PHP/php5apache2.dll" |
1. Burası php4 için
500 501 502 503 504 505 | ScriptAlias /php/ "C:/php4/" AddType application/x-httpd-php .php Action application/x-httpd-php4 "/php/php.exe" AddType application/x-httpd-php .php3 AddType application/x-httpd-php .php5 AddType application/x-httpd-php4 .php4 |
Daha sonra httpd.conf dosyasının yaklaşık 193. satırında bir yerde
193 194 195 196 | Options FollowSymLinks AllowOverride None Order deny,allow Deny from all |
olan yeri, aşağıdaki şekilde değiştirmeniz gerekmektedir.
193 194 195 196 197 | Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.1 |
Yani sadece Allow from 127.0.0.1 satırını ekleyin.
Normal olarak php5 için installer ile apache üzerine kurun. İlk kısımdaki 2 satırı kendisi ekliyor. Sonra php4′ü sitesinden indirip (zip olan dosyayı) c:\php4 dizinine açtım. Ondan
sonra php4 için olan dediğim 6 satırı da httpd.conf dosyasının en sonuna ekliyoruz.
Artık .php3 .php5 ve .php uzantılı dosyalarımız php 5 sürümü ile yorumlanacak ve .php4 uzantılı dosyalarımız da php 4 ‘e göre yorumlanacak.
Bir sorun daha var, o da eski projemizdeki yüzlerce .php uzantılı dosyayı .php4 olarak değiştirmek hiç de iyi bir yol değil. Buna da bir çözüm bulmak lazım. O da eski projenin kök dizinine bir .htaccess dosyası içine aşağıdaki satırı ekleyip sadece burası ve alt dizinler için .php uzantılı dosyaları php4 yorumlayıcısına göndermek.
AddHandler application/x-httpd-php4 .php .php4 .php3 .phtml