Php nin yazım kuralları

Ceviz Viki, özgür ansiklopedi

Git ve: kullan, ara

İlk olarak işi temelinden sağlam tutmak ve PHP yi tanımak yada PHP nin sunucuda hangi kodlamalar içinde çalıştığına bakmak için,bir başlangıç yapalım isterseniz.Bu çalışmam sizin için hem esprili bir anlatım ve dolayısıyla buna bağlanarak en iyi şekilde anlatımıyla,belki diğer kaynaklardan ayrılacaktır.Çünkü internette baktığım bir çok dökümanın sahipleri profesyonel yeni öğrenen kişilere anlatır gibi anlatmışlar.Siyah renkli yazıya dikkat edin,Profesyonel yeni öğrenen.Böyle bir cümle olamaz arkadaşlar,profesyonel adam zaten biliyordur ve senin paylaştığın bilgilerede ihtiyacı yoktur zaten.Yeni öğrenen demek,amatör ve detayıyla her şeyi öğrenmek isteyen kişidir.Örneğin internet ortamında Hakkı öcal ın PHP ile ilgili çalışmaları var,yeni başlayan bir php öğrencisine resmen moral bozukluğudur,çünkü o anlatımla php yi asla öğrenemez.Verdiği örnekler upuzun zincir gibi,anlatım yüzeysel,konular karışık,ve buna binaen bir profesyonele hitap eden anlatımı sayesinde Hakkı Öcal kendi kendine konusur gibi bir çalışma yapmış,Tabiki hakaret etmiyorum,ancak php ye yeni başlamış ve hayatında php nedir bilmeyen öğrenciler maalesef senin anlatımınla hiç bir şey anlamazlar.O yüzden bu çalışmayla kesinlikle PHP yi öğreneceğinizi garanti ediyorum.%50 başarınız benden bedava,diğer kalanı sizin azminize kalmıştır.Çünkü ben her ayrıntıyı burada size açıklıycam.PHP yi öğreniceksiniz arkadaşlar ve kendinizi geliştirmek için temelinizi bu çalışmayla kazanıcaksınız.Bana da dua edin olur mu?

Evet arkadaşlar,bildiğiniz gibi html komutları daima <html>......</html> komutları arasında icra edilir.Bu klasik yöntem tüm yazılım kurallarında farklı farklı olmasına rağmen temel ihtiva eden komutlar html'nin ayraçlarında gizli olduğunu unutmayalım.Eğer ki,HTML komutları bu komutlar içinde yazılıyorsa; o zaman PHP komutları hangi ayraçlar içinde yazılıyor ona bakalım isterseniz;

PHP komutları 1.yöntem olarak;<?.......?> komutları arasına yazılır.Bu komutlar arasına yazılan scriptleri sunucu PHP dosyası olarak algılar ve ziyaretçiye göndermeden daha da önce söylediğimiz gibi php.exe dosyasına gönderir.<?.....?> bu yazılım komutu genelde kısa kodlamalar için kullanılır.bundan hariç 2 kodlama şekli daha vardır.Bunlardan 2.yöntem olarak; <?php.......?> komutları arasına yazılır.Bu komutunda ilk komuttan farkı yoktur.Ancak genelde uzun kodlamalarda bu yazım şekli kullanılır.Ama tabi bir de,yeni teknoloji olan xml yazılımı da <?xml şeklinde başladığı için,php ile xml yi birlikte yazmaya başlarsanız,o zaman 1.yazılım şekli olan <?....?> bu komutu unutmanız gerekecektir... 3.yöntem olarak ise; <script language="php">........</script> komutları arasına yazılır.Bu kodlamanında diğer iki komuttan farkı yoktur.Genelde bu yazım şekli kullanılmaz,ama yine de bilmenizde fayda var.

Dediğimiz gibi hangi komut şeklini kullanırsanız kullanın değişen hiç bir şey olmayacaktır scriptte.Dolayısıyla her yazılımcı kendine kolay gelen script yazılım şeklini yazar ve komutlarında icra eder.örneğin siz ; <?........?> böyle kullanırsınız...bir başkası <script language="php">......</script> komutunu kullanır.A..! ben bunu bilmiyordum dememeniz için her komutu bilmenizde fayda var.

Şimdi yazım komutunu öğrendikten sonra hafiften olsun ekrana yazım işlemlerine başlayabiliriz isterseniz.Dediğimiz gibi komutlardan hangisini kullanırsanız kullanın.Ancak sunu bilmelisniz ki,yukardaki php tagları ekrana basılan yazıda asla görünmeyecektir.O zaman şöyle düşünelim;html komutlarında ekrana yazıyı basan komutlar <body> ve </body> tagları arasına yazıldığını biliyorsunuz.O halde PHP de ekrana yazıyı basan komutlar nasıl yazılır ona bakalım;

<?
 
echo " php web dünyasına hoşgeldiniz";
 
?>

Gördüğünüz gibi, ekrana basım komutu echo ile yapılmaktadır.ve ekrana yazı iki tırnak komutu arasına yazılıp,komutun bitişinde noktalı virgül (;) kullanılır.bu komutu şimdi browserimizdan çağıralım isterseniz.Bu tablo içindeki komutu notdefterinize yazıp,dizininize deneme.php olarak kaydetin.Ve daha sonra explorer sayfanızı açarak,tarayıcınıza localhost/deneme.php yazıp enter'a basın.Bakın karşınıza ne gelecek; php web dünyasına hoşgeldiniz

Evet gördüğünüz gibi sizde artık echo ile php uzantılı bir dosyayı sunucunuzdan çağırabiliyorsunuz.Peki sadece echo komutu mu ekrana yazı bastırıyor.hayır tabi ki değil,bundan hariç 2 komut daha var,bunlar print ve printf komutlarıdır.Ancak yine echo dan hiç farkları yoktur bunun.Dediğimiz gibi paşa gönlünüz bilir.hangisini kullanırsanız kullanın.Şimdi Şöyle bir şey yapın ve 3 komutluda deneyin,bakalım değişen bir şey olacak mı?


<?
 
echo "php web dünyasına hoşgeldiniz";
 
?>
 
<br>
 
<?php
 
echo "php web dünyasına hoşgeldiniz";
 
?>
 
<br>
 
<script language="php">
 
echo "php web dünyasına hoşgeldiniz";
 
</script>

Bu komutları nofterinize yazıp,dizininize deneme2.php olarak atıp,browserinizdan localhost/deneme2.php olarak çağırdığınızda karşınıza alttaki gibi alt alta 3 tane php web dünyasına hoşgeldiniz yazacaktır.

php web dünyasına hoşgeldiniz

php web dünyasına hoşgeldiniz

php web dünyasına hoşgeldiniz

Evet gördüğünüz gibi ekrana yazılımda değişen hiç bir şey olmadı,farklı taglar arasına yazmamıza rağmen yine yazılımda farklılık olmadı,dediğimiz gibi,hangi komut kolayına gidiyorsa onu kullanın.3 farklı komutta özgürsünüz.aynı şekilde echo yada print yada printf komutlarından da hangisini kullanırsanız kullanın değişen hiç bir şey olmayacaktır.Ama genelde yazılımlarda echo komutunu görürsünüz.

O halde şimdi de yazımıza teknik boyut (renk,ekran düzeni vs..) kazandıralım isterseniz.Şimdi bildiğiniz gibi yazının renk komutları html komutlarıyla aynıdır.yani ..... komutları arasına yazılır.Ve ayrıca yazının büyüklüğü ise ; h1 ve h6 arası değişen komutları arasında icra edilir.Yazıyı merkeze taşıma,sola alma,sağa alma gibi komutlar ise ;
.....
komutları arasında belirtilir.Bunlar temel html komutlarıdır.Ben şimdi kalkıpta html 'yi size anlatmıyorum,sadece hatırlatmak babında yazmamda fayda var diye düşünüyorum. o halde PHP komutumuzun ekrana basılan yazıya renk ,merkeze taşıma,ve yazı büyüklüğünü isterseniz değiştirelim.İlk önce önemli bir mevzu olarak ,olayı daha iyi kavramanız maksadıyla renk ile başlayalım.


<?
 
echo "<font color="0000FF">php web dünyasına hoşgeldiniz</font>";
 
?>

Bu yazılımda gördüğünüz gibi echo dan sonra iki tırnak işareti arasında ekrana basılan yazıya font color komutuyla renk verdik.bunu deneme3.php olarak kaydedip,localhost/deneme3.php olarak çağırın bakalım karşınıza ne gelecek. Parse error: parse error, expecting `', or `'; in C:\apache\htdocs\deneme.php on line 3

Zonkkk!!!! :)) yamulduk değil mi? ben Apache kullandığım için böyle hata verdi,sizde hangi sunucuyu kullanıyorsanız,buna benzer bir hata verecektir.O halde hata yaptık,ama hata font color komutunda mı? hayır orda hata yapmadık bakarsanız.hatamız nerde biliyor musunuz? sarı tablo icine iyice bakarsak,echo komutundan sonra 4 tane çift tırnak kullandık,sunucu daima iki çift tırnak arasındakini okur,yani echo "<font color=" buraya bakar.yani,ilk 2 çift tırnağa bakar,ancak ikinci çift tırnaktan sonra NOKTALI VİRGÜL göremediği için,program hata verecektir.

Yani hatamız echo dan sonra 4 çift tırnağı açık olarak kullandık,peki nasıl düzelticez bu durumu derseniz? gayet basit arkadaşlar,şimdi komutu düzeltelim isterseniz.alttaki kodu deneme4.php olarak kaydedin.


<?
 
echo "<font color=\"0000FF\">php web dünyasına hoşgeldiniz</font>";
 
?>

bu sefer karşınıza sunucu istediğiniz yazıyı rengini değiştirerek ekrana basacaktır. php web dünyasına hoşgeldiniz

o halde komutu neden böyle yazdık isterseniz onu öğrenelim;

echo "php web dünyasına hoşgeldiniz";

komuta iyi baktığımızda mantık şu olacaktır,font color önündeki iki çift tırnağı ters bölü işaretiyle gizliyoruz,ve sunucu ters bölü işareti önünde ki çift tırnakları görmezlikten gelir ve diğer ters bölü olmayan çift tırnakları göz önünde bulundurur ve arasındaki yazıyı ekrana basar.Olay gayet basit,yazının teknik boyutları içerisindeki taglar arasına yazılan çift tırnaklar her zaman ters bölü ile gizlenir.Bunu böyle yaparsanız,istediğiniz yazıyı istenilen şekilde sunucuda ekrana bastırırsınız.

Kafanıza daha iyi yatması için bir kodlama daha yapalım isterseniz.alltaki kodu deneme5.php olarak kaydedin.


<?
 
echo "<h1 align=\"center\"><font color=\"0000FF\">php web dünyasına hoşgeldiniz</font></h1>";
 
?>

Bakın burada daha iyi kafanıza yatacak,echodan sonraki baş ve son iki çift tırnak içine ekrana basılacak yazıyı yazdık,ancak yazıya tahmin ettiğiniz gibi estetik boyut kazandırdık,naptık ilk önce ;h1 ile yazımıza büyüklük karakteri verdik daha sonra align komutu ve center parametresiyle yazımızı merkeze taşıdık,ve center parametresi arkasındaki ve önündeki çift tırnakları ters bölü işaretiyle gizledik.daha sonra yine bir komut kullanarak yazımıza renk vermek için font color komutunu kullandık.bu komutta html komutu olduğu için çift tırnakları gizledik,ve daha sonra komutları kapattık (ilk yazılan html komutu son kapatılır,bunu biliyorsunuz umarım) ve daha sonra da son çift tırnağı yazarak noktalı virgülle komutu bitirdik.

Anladığınız gibi echo dan sonra html tagı kullanmamız durumumda html tagları içindeki çift tırnakları gizlemek zorundayız,ne kadar html tagı yazarsak yazalım,html tagını echo dan sonra yazıya verdiğimiz teknik boyutta kullanmamız halinde çift tırnaklar gizlenir.iyice öğrenmeniz için tabloyu tekrar incelemenizde fayda var.

Bir ayrıntıdan daha bahsetmek istersek,şöyle diyebiliriz belki bu söyleyeceğimi döngülerde kullanabiliriz,o yüzden bilmeniz gerekecek,örneğin echo komutundan sonra bir html kalıbıyla sonuc nesnesine estetik boyut kazandırmak belki alt alta birden cok echo sonuc nesnesi için zor gelebilir aynı şeyleri yazmak,ben diyorum ki şöyle bir kodlamayı da aklınızın bir köşesinde bulundurun.


<?php
 
echo "<h1 align=\"center\">php web dünyası<br>\n";
 
//aynı komut birden çok echo sonuc nesnesini de içine alıcaktır.
 
echo "php web dünyası<br>\n";
 
echo "php web dünyası<br>\n";
 
echo "php web dünyası<br>\n";
 
?>

Böyle yaparak angaryalıktan kurtulabilirsiniz,ilk echo komutunun html kalıbı tüm echo sonuc nesnelerinde geçerli olacaktır,çünkü farkedeceğiniz gibi tagı kapatmadık eğer kapatırsak ilk sonuc nesnesinde html tekniği uygulanıcak diğer basımlarda uygulanmıyacaktır.Bu komutlamayı da aklınızın bir köşesine yazın.Bazen birden cok basım nesnesinde böyle yaparak,zaman kaybını önlemiş olacağız.( Yukarıdaki tabloda öğrenmediğiniz bir şey var o da yorum satırıdır. // bu işaretten sonra tek satırlık yorum yaptık,bu sunucu tarafından okunmayacaktır.Bu sayfanın en altında bunlarla ilgili açıklamayı yaptım.Orada öğreneceksiniz. )

PHP Yİ HTML KOMUTLARININ İÇİNE GÖMELİM;

Bazen öyle uzun kodlamalar yaparız ki,komutlar doğru olduğu halde program ya çok yavaş çalışır yada en kötü ihtimalle çöker,bu yüzden uzun kodlamalarda PHP komutlarını HTML komutları içerisine gömmemiz gerekecektir.Peki Hocam bu nasıl olacak derseniz,gayet basit derim,alttaki kodu deneme6.php olarak kaydedin.


<html><head><title>deneme6</title>
 
</head>
 
<body>
 
<?
 
echo "php web dünyasına hoşgeldiniz";
 
?>
 
</body>
 
</html>

Evet gördüğünüz gibi HTML komutları içinde <body> ve </body> komutları arasına getirdik PHP komutlarını yazdık.Böylelikle HTML nin içine PHP komutlarını gömmüş olduk,böyle yazılım cok uzun kodlamalarda işinize yarayacaktır.İşlem çok basit PHP yi html'nin içine göm demek <body></body> arasına PHP komutlarını aynen yazmak demek. Şimdi bu komutlama şeklinide öğrendikten sonra alttaki kodu deneme7.php olarak kaydedin.


<html><head><title>deneme6</title>
 
</head>
 
<body><div align="center"><h1><font color="0000FF">
 
<?
 
echo "php web dünyasına hoşgeldiniz";
 
?>
 
</font></h1></div>
 
</body>
 
</html>

bu komutu sunucunuzdan çağırdığınızda ise karşınıza ; php web dünyasına hoşgeldiniz

merkeze taşınmış,h1 büyüklüğünde ve mavi renkte bir yazı göreceksiniz.peki neden böyle yazdık? kafanız mı karıştı? yoo asla karışmasın.Açıklaması şöyle,diğer öğrendiğiniz şekilde de yapa bilirsiniz.ama böyle yaparak gizleme yöntemini de kullanmayarak yazıya teknik boyut kazandıra bilirsiniz.ama bu yöntem ekrana basılan tüm yazı için geçerlidir.yarısını kırmızı yarısını mavi yapayım derseniz.Daha önceki öğrendiğimiz metodu kullanın.Bu da ek olarak beyninizin bir köşesinde bulunsun.Peki burda naptık.PHP komutları olan <? .....?> ustune yani </body> komutunun bir altına parametreleri yazdık ve daha sonra ?> komtunun altında yani </body> komutunun bir üstünde parametreleri kapattık,hepsi bu.Burada dikkat edilmesi gereken husus,gizleme felan yapmadık.Bu sadece PHP yi html komutlarının içine gömdüğümüz durumlarda TÜM EKRANA BASILAN YAZI için kullanılır.


PHP KOMUTLARINDA YORUM SATIRI KULLANMAK;

PHP komutlarını kullandığımızda webmasterler genelde hangi komutun ne işe yarayacağını belirtmek amacıyla yorum satırı kullanırlar,ancak bu yorum satırları asla sunucu tarafından değerlendirilmeye alınmaz,bu yorum satırları nelerdir onlara bir bakalım son olarak;

birinci yorum satırı olarak // (çift bölü) işareti kullanılır,bu yorum satırı tek satırlıktır,alt satırı korumaz.Bu ayrıntıya dikkat edelim.Şimdi bir örnek yapalım alttaki kodu deneme8.php olarak kaydedin.


<?
 
// bu bir ali gurbuz kodlamasıdır
 
echo "php web dünyasına hoşgeldiniz";
 
?>

Karşınıza alttaki gibi bir sunucu yorumu çıkacaktır; php web dünyasına hoşgeldiniz

Yani komutta yazılan yorum satırı olan çift bölü işaretinden sonraki tek satırlık yorum satırı sunucu tarafından değerlendirmeye alınmaz,bu yorum satırları hangi komutun ne iş yaptığını öğrenmek amacıyla gerçekten güzel bir olay,yorum satırlarını kullanmayı elinize alıştırmaya çalışın.

2.bir yorum satırı olarak da diyez (#) işareti de kullanılır.bu da bulunduğu satırı korur,çift bölüden hiç bir farkı yoktur.3.cu bir yorum satırı olarak ise ; /* komutu ise; istediğiniz satırda yorum yapabilirsiniz.yorumunuz bittiği yerde komutu kapatın,bununla ilgili bir örnek alttaki tablodadır.


<?
 
/* bu bir aligurbuz kodlamasıdır
 
ve baskı yöntemi olarak echo komutu kullanılır */

 
echo "php web dünyasına hoşgeldiniz";
 
?>

Bu yorum satırında gördüğünüz gibi birinci satırın altına da yorum yaptık ve daha sonra komutu kapattık,komutu açarken /* ile, kapatırken de tam tersi olan */ ile kapattık.Buna dikkat etmelisiniz.Dalgınlığınızla yorum satırını açtığınızın aynısıyla kapatırsanız,program hata verecektir.Buna dikkat etmelisiniz.