programlama

Fatal error: Class ‘sfInflector’ not found – Symfony 1.4.1

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

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();