PHP Standartlarında Kodlama 1: Değişken Tanımlama
Merhabalar, PHP ile ilgili 2. yazımla tekrar beraberiz. Bu makaleyi daha önce yazmış olmama rağmen, burada yayınlamak istedim çünkü, PHP standartlarında kodlama yapmak çok önemlidir. Her ne kadar, farklı şekillerde yazdığınız kodlar çalışsa da veye çalışıyor görünse de, kodu uslubuyla yazmadıysanız daha sonra başınızı ağrıtabilir.
Hani olur ya, localhost’da çalışan kod sunucuda çalışmaz, ya da PHP versiyon güncellenir eskiden çalışan kodlar çalışmaz filan, PHP Standartlarında Kodlama serisini bu yüzden yazmaya karar verdim, php.net standartlarına göre en uygun, en standart kodlamayı yapmanın püf noktalarını anlatmak için. Aklıma geldikçe ve vakit buldukça en çok yapılan hataları ve en doğru kullanımları anlatacağım.
Bir değişkeni tanımlarken fazla ne detay olabilir diyebilirsiniz. Fakat php.net der ki, eğer tanımlanan değişken bir sayıysa, bunu tanımlarken tırnak kullanmamalıyız.
$degisken = 556456;
gibi.
Harf ya da bir metin tanımlarken, tırnaklar kullanırız, açılış/kapanış tırnağının aynısı tanımladığımız metnin içinde geçiyorsa önüne \ koyarız. Peki, ” ya da ‘ kullanılabiliyorken, hangisini nerede kullanmalıyız?
$bartuc = 'cihan'; $degisken = 'sadasd dasdasdas $bartuc';
şeklinde kullandığımızda ve bunu echo yaptırdığımızda, sayfaya aynen sadasd dasdasdas $bartuc şeklinde basılır. Fakat;
$bartuc = 'cihan'; $degisken = "sadasd dasdasdas $bartuc";
kullandığımızda, sayfaya basılan şey aynen sadasd dasdasdas cihan olacaktır. Yani, ‘ kullanıldığında içindeki değişkenler değişken olarak algılanmaz ve sayfaya aynen basılır, ” kullanıldığında ise değişkenler okunur.
Eğer;
$bartuc = 'cihan'; $degisken = "sadasd dasdasdas \$bartuc";
şeklinde, çifttırnak içinde $ değişken tanımlama karakterimizi \ ile birlikte kullanırsak, tek tırnaktan farkı kalmayacak ve değişkeni algılamadan basacaktır.
Peki, çift tırnak içinde değişken kullanmak sağlıklı mıdır? Çalışacak da olsa, sağlıklı değildir. Kullanılması gereken en sağlıklı format, yazdığımız metinler ile değişkenleri birbirinden . karakteri ile ayırmaktır. yani;
$degisken = "sadasd dasdasdas $bartuc";
ve
$degisken = "sadasd dasdasdas ".$bartuc; //ya da $degisken2 = "sadasd dasdasdas ".$bartuc." sadasdsa dasdasd ".$bartuc2." dasdasd";
aynı işi göreceklerdir ama, alttaki kullanım biçimi daha sağlıklıdır, olması gereken budur. Peki çok karışık bir kod yazıyorsanız ve bütün değişkenleri tek tek böyle ayırmak istemiyorsanız veya ayırarak bir sonuca varamıyorsanız ne yapacaksınız? sprintf() fonksiyonu burada yardımımıza yetişiyor. Basit bir örnekle bu fonksiyonun kullanımını anlatacağım.
$tanim1 = "kere"; $tanim2 = "dört"; $tanim3 = "beş"; $degisken = "iki $tanim1 iki $tanim2 eder. üç ya da $tanim3 değil.";
yerine;
$tanim1 = "kere";
$tanim2 = "dört";
$tanim3 = "beş";
$degisken = sprintf("iki %s iki %s eder. üç ya da %s değil.", $tanim1, $tanim2, $tanim3);
kullanmak daha sağlıklı olacaktır. Peki burada tam olarak ne yaptık?
sprintf fonksiyonunda ilk parametre, tanımlanacak olan metindir. bu metinin içindeki değişkenleri %s karakteri ile değiştiririz. tırnağımızı kapatıp virgülümüzü koyduktan sonra, yani ilk parametreyi bitirdikten sonra, sırasıyla yerleştirdiğimiz %s’lerin yerlerine hangi değişkenler gelecekse ayrı parametreler halinde ekleyerek parantezimizi kapatıp fonksiyonu sonlandırırız.
Tanımladığımız bir değişkeni sayfaya bastırırken de aynı kurallar geçerlidir. Unutulmamalı ki, hiçbir değişken, doğrudan sayfaya kod halinde basılmayacağı sürece, tırnak içinde kullanılmamalıdır.
echo "$cihan";
ve
echo $cihan;
aynı işi yapsalar da, kullanmak için alttaki seçilmelidir.
Basit şeylerden bahsettim, daha sonra daha farklı fonksiyonların kullanımıyla ilgili ayrıntılı dökümanlar yazacağım.
Görüşmek üzere.
Rastgele Yazılar
PHP Standartlarında Kodlama 1: Değişken Tanımlama yazısı için 8 yorum yapılmış...
Yorumunuzu Yazın
Güzel bir makale olmuş ellerine sağlık :)
güzel bir döküman olmuş başlangıç için devamını bekliyorum
Çok güzel bir makale olmuş, şu günlerde PHP ile kodlamalar yapıyorum ve neyin ne denli sağlıklı olduğunu sayende öğrenmiş oldum :)
harbiden güzel olmuş.
harika bir paylasım ve gercekten cok basarılı olmuş.
güzel olmuş gerçekten basit ama dikkat edilmesi gereken oldukça önemli bilgiler eline sağlık..
PHP Standartlarında Kodlama 1: Değişken Tanımlama hakında yazdıklarınız bana yardımcı oldu teşekkürler.
harika bir paylasım ve gercekten cok basarılı olmuş.