laplace's demon

Tag: php

Think beyond DB

by on Nov.12, 2010, under php, Programming, Tech

I found a good presentation by the project lead of Zend Framework. He explains the data persistance and why good OO programming instead of refactoring is saves a lot of time.

Leave a Comment :, more...

Htaccess dosyası

by on May.04, 2010, under linux, php, Programming

Htaccess dosyasında kullandığım tanımlamaları sürekli unutuyorum. Burayı da not defteri gibi kullanmaya başladım. Yaptığım olay sırayla şu: Öncelikle uygulama ortamını belirliyorum. Buradaki ortama göre bir config dosyası yüklüyorum çünkü. Sonra optimizasyon için ETag ları set ediyorum. Sora Expire header’ları ayarılıyorum. Sonra her bişeyi Gzip ile sıkıştırıyorum (apache deflate mod sağolsun). Daha sonrası da klasik url rewrite

SetEnv APPLICATION_ENV production

Header unset ETag
FileETag None
Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"
Header unset Last-Modified

# Insert filter
SetOutputFilter DEFLATE

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Leave a Comment :, more...

Scalability in PHP

by on Nov.07, 2009, under php, Programming

PHP nin sevdiğim tarafı iyi scale edilebiliyor olması. Bu konuda güzel bi prezentasyon buldum.

Leave a Comment : more...

Shared Hosting için Zend Framework kurulumu

by on Oct.29, 2009, under php, Programming

dertli bir iş. en büyük sıkıntı da shared hostinglerde document root değiştirilemediği için oluyor. zend framework için önerilen dizin yapısında public klasörü rootda yer almıyor. bu bir çok açıdan tercih edilmesi gereken bir durum. ancak shared hostinglerdeki document root olan httpdocs ya da public_html klasörünün bir üzerinde değişiklik yapılamadığı için aşağıdaki kodu root dizindeki .htaccess dosyasının içine kopyalayın. public dizinindeki .htaccess dosyasını da kaldırın. mis gibi.

RewriteEngine On

RewriteRule ^\.htaccess$ - [F]

RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]

RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]

RewriteRule ^public/.*$ /public/index.php [NC,L]

kaynak: şurası.

1 Comment :, more...

Zend Studio ile Xdebug Kullanmak

by on Sep.16, 2009, under php

Oldukça uzun süredir Zend debugger kullanıyordum. Halimden de memnundum açıkçası, çünkü debugging olayından beklentim remote debugging den ibaretti ve Zend debugger da sorunsuz çalışıyordu. İşletim sistemi değiştirip mac’e geçmemle birlikte Xdebug’ı denemeye karar verdim, ve şimdi bi sürü “fancy” özelliğiyle birlikte Xdebug’ın Zend debugger’dan çok daha iyi olduğunu anlamış bulunuyorum.

Mac’e geçmemle beraber uzun süredir kullandığım Zend Studio 5.5 ve Aptana’dan da Zend Studio 7′ye geçmeye karar verdim. Zend Studio 7 eclipse üzerine kurulmuş harika bir ide. Gerçi ben hala alışabilmiş değilim ama artık bir değişikik yapmam şarttı.

Neyse, Zend Studio 7 malesef debugger olarak sadece Zend Debugger’a izin veriyor. Xdebug disable edilmiş durumda. Ancak ufak bir trick ile bunu değiştirmek mümkün. Şöyleki;

1. Zend Studio folder’a gidilir. cd /Applications/Zend/Zend\ Studio\ -\ 7.0.0
2. cd pluginsmkdir disabled
3. mkdir disabled
4. mv com.zend.php.debug* disabled
5. Bir de configurasyon dosyasında ufak bir değişiklik yapmamız gerek. open -a TextWrangler com.zend.php_<ZSE_version_number>/plugin_customization.ini
6. ‘org.eclipse.ui.workbench/UIActivities.com.zend.php.debug.ui.XDebugActivity’ alanının değerini ‘true’ olarak değiştir.
7. Zend Studio’yu yeniden başlat.
8. Preferences içinde PHP -> Debug sayfasında gerekli değişiklikler yapılır (debugger olarak Xdebug seç, PHP executable path i göster vb.)

Afiyet olsun.

Leave a Comment :, , more...

Zend Date ile tarih aralığı hesaplamak

by on Apr.02, 2009, under php

çok basit olsa da ben yine de buraya yazıyorum. yapmaya çalışılan kaç yaşında olduğunu hesaplamak.  tek yaptığım da iki timestamp’ı (biri şu anki tarih, diğeri doğum günü) birbirinden çıkartmak. küsüratlı bir rakam elde edilmek istenmiyorsa floor fonksiyonuyla yuvarlana da bilir. bir de 365 e bölmek istenmeyebilir. o ayrı.

$now = new Zend_Date();
$dob = new Zend_Date("954686860", Zend_Date::TIMESTAMP );
echo floor(($now->getTimestamp() - $dob->getTimestamp()) / (24 * 60 * 60)) / 365;
Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...