... PHP Kategorisi
Cumartesi, Temmuz 2nd, 2011
Yıllardır işyerinde Zend Framework kullanıyorduk ve kendi sunucularımızda rahatlıkla projelerimizi host edebiliyorduk. Son projemizi Hostgator’dan aldığım bir sunucuda host etmek icab edince bir handikap ortaya çıktı. Zend Projeleri üç ana klasör içerir; application, library ve public. Projenin webe açık olan klasörü ise sadece public’dir, index.php dosyası public klasörünün altındadır. Diğer klasörlere webden doğruca erişilmeye ihtiyaç yoktur.
Hostgator gibi firmalarda host ayarlarına müdahale etmek malesef mümkün olmadığından web dosyalarınızı size açılan hesaptaki “public_html” klasörüne koymak zorundasınız. Zend projelerindeki bu uyumsuzluğu gidermenin meğer basit bir yolu varmış. Şöyle yapılıyor:
Zend projenizin ana dizinine index.php adıyla bir dosya oluşturun ve içerisine şu kodları yazın:
<?php
define(‘RUNNING_FROM_ROOT’, true);
include ‘public/index.php’;
?>
Yine ana dizine bir tane .htaccess dosyası oluşturun ve içerisine şu ifadeleri yazın:
SetEnv APPLICATION_ENV production
RewriteEngine On
RewriteRule .* index.php
Projenizin tüm dosyalarını artık public_html klasörüne atabilirsiniz. Kod sorunsuz çalışacaktır, fakat bir problem daha var. Projedeki layoutlarda CSS, JS ve imaj referanslarınız düzgün çalışmayacaktır. Çünkü önceden hepsi public klasörünü kök klasör kabul ederek yazılmışlardı, örneğin public/css/style.css dosyasını çağırırken “/css/style.css” diye çağırabiliyorken şimdi “/public/css/style.css” diye çağırmak gerekecek. Eğer projenizin layoutlarında “/” yerine $this->baseUrl gibi bir ifade kullanmaya üşenmediyseniz yaşadınız. Çünkü $this->baseUrl tanımının olduğu yeri düzeltip “/” yerine “/public/” yazarsınız, olur biter.
Tags: zend framework hosting
Posted in PHP | No Comments »
Pazar, Mayıs 23rd, 2010
Eclipse’de .tpl uzantılı dosyaları doğrudan tıkladığınızda mac işletim sistemindeyseniz küçük not kağıtları şeklinde açılıyor. Sağ tıklayıp text editörle aç dediğinizde ise php highlighting yapmadan yani değişkenleri, fonksiyonları vs ayrı ayrı boyamadan açıyor ki işinizi oldukça zorlaştırıyor.
Bu durumu düzeltmek için şu menüyü takip edip *.tpl formatını eklemek yeterli:
Preferences / General / Content Types / Text / PHP Content Type
Tags: eclipse, PHP, tpl
Posted in ipucu, PHP | No Comments »
Pazar, Mayıs 23rd, 2010
SVN (Subversion) kaba bir tabirle sürekli güncellenen dosyalar için sürüm kontrol sistemi olarak ifade edilebilir. Başkaları nasıl kullanıyor bilmiyorum ama biz program geliştiricileri için hayat kurtarır mahiyettedir.
SVN ile proje dosyalarınızı güvenilir, yedekleri düzenli şekilde alınan bir sunucuda tutabilirsiniz. Çalışacağınız zaman bu dosyaların en güncel halini kendi bilgisayarınıza indirip gerekli güncellemeleri yapıp ilgili yorumlarınızla birlikte tekrar svn sunucunuza geri gönderebilirsiniz. Üstelik aynı projede çalışan birden çok kişi de kendi kullanıcı bilgileri ile bu işlemi yapabilir. Böylece kimin nereye ne şekilde ekleme çıkarma yaptığı gün, gün, saat saat bellidir. Dilediğiniz zaman dilediğiniz bir sürüme dönüş ya da inceleme yapabilirsiniz.
İşyerinde SVN ile çalışmak bizim için büyük bir nimet. Üzerinde kodlarınızı yazdığınız bilgisayarın başına herhangi bir iş gelse; disk bozulsa, virüs bulaşıp tüm dosyalarınız zarar görse üzülmeniz gereken tek şey sadece en son yazıp ‘commit’ etmediğiniz kısımlar olur ki genelde bunlar tüm projenin yanında oldukça az bir yer kaplar. Tabi bu kısımlar hayati kısımlar da olabilir ama, o zaman makinenize gözünüz gibi bakın ne diyeyim.
İşte bu rahatlığı evimde de kullanmak için uzun zamandır fırsat kolluyordum. İstediğim zaman erişebileceğim bir svn sunucum olsun istiyordum. Makinemi her formatladığımda sayıları giderek artan ve kontrolden çıkmaya başlayan proje yedeklerim için en iyi çözüm svn idi. Gerçi bu işi ücretli veya ücretsiz yapan başta Google ve SourceForge gibi onlarca site var fakat bilhassa bu saydıklarımda projeyi oluştururken ‘açık kod lisansınızı seçiniz’ şeklinde sorular sorulması beni işkillendirdi. Küçük de olsa ticari kodlarımın açık seçik olması taraftarı değilim. Aslında 3o küsür yaşında bir programcı olarak ‘açık kod’ nedir denince kafamda net bir cevap oluşması lazımdı ama malesef yok.
(daha fazla…)
Tags: eclipse, hostgator, svn
Posted in Genel, PHP | 2 Comments »
Cumartesi, Nisan 24th, 2010
Bir PHP geliştiricisi olarak uzun yıllar Windows tecrübesi yaşadıktan sonra artık aradığımı bulmuş ve Macos kullanmaya karar vermiştim. Bunun envai çeşit nedenini bir önceki yazıda zaten uzun anlatmıştım. Bu yazıda macos’da Apache ve PHP (MySQL-PostgreSQL destekli) kurulumundan bahsedeceğiz. Aslında Apache-PHP-MySQL için en pratik yol MAMP kurmak ama bu şekilde kurulan PHP’ye postgreSQL desteği vermek zor. Bunun için en iyi yöntem MacPorts kurmak.
Bilindiği üzere Macos aslında BSD tabanlı bir Unix işletim sistemidir. BSD’nin de en güzel özelliklerinden biri Ports denen bir yazılım kurma sistemi olmasıdır. Bu sistem sayesinde pek çok yazılımı sadece bir kaç komutla internetten indirip güncelleyebilirsiniz. İşte bu Ports sistemini Mac’e de uyarlamışlar ve adına MacPorts demişler.
MacPorts komut satırı (terminal) üzerinden çalıştırılan bir uygulama ama işletim sisteminize kurulu olarak gelmiyor. Bunun için bu sayfadan macos’unuza uygun olan dmg imajını öncelikle indirip kurmanız gerekiyor. Bizim sistemimiz Snow Leopard 1.6.3 olduğu için biz bu dosyayı indirip kurduk.
(daha fazla…)
Tags: macports, mySQL, PHP, postgresql
Posted in Mac, PHP | 2 Comments »