Laravel Development
Php server tarafında çalışıyor olan, html ile uyum sağlayan 1 script dilidir. Öncesinde kullandığım “programlama dili” ifadesi php amacıyla tamamiyle açıklayıcı değildir. Php, html de bulunduğu çevrilmiş halidir. Alttaki kod kümesini tetkik etrseniz daha iyi anlayacağınızı sanıyorum (php’ye henüz 1 giriş yapmadığım amacıyla kodları anlamayabilirsiniz, ama tekrar de c’ye az da olsa aşina olanlar 1 anlam çıkartacaktır).benzeri ek olarakrleyici aracılığıyla derlenmez, yalnızca sunucudaki php programı aracılığıyla yorumlanır. C dâhin 1isi amacıyla php öğrenmesi çok basit olan 1 dildir, durum şu ki dosya işlemleri benzeri karışık mevzularda php, c’den çok daha basittir.
PHP Programlama Uzmanı İstanbul, Bursa içerisinde sizlere bu hizmeti veriyor olacaktır. Yazılım Uzmanı'na ulaşarak web sitenizi hazırlatabilirsiniz.
Yazdığınız php kodları hiçbir zaman sitenizin konuksine resimlenmez. Konuk sayfanın kaynağını görsellese dâhi göreceği sizin php kodlarınızın sunucu sistemdeki php programı aracılığıyla html’ye çevrilmiş halidir. Alttaki kod kümesini tetkik etrseniz daha iyi anlayacağınızı sanıyorum (php’ye henüz 1 giriş yapmadığım amacıyla kodları anlamayabilirsiniz, ama tekrar de c’ye az da olsa aşina olanlar 1 anlam çıkartacaktır).
\n”);
print(“bu 1 php dosyasıdır.
\n”); echo (“bu 1 php dosyasıdır.
\n”); echo “bu 1 php dosyasıdır.
\n”; ?> yukarıdaki 4 kod satırıda görüntü alanına “bu 1 php dosyasıdır.” yazdıracaktır. Ve internet istemcinizden sayfanın kaynağına baktığınız zaman yalnızca bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
benzeri 1 içerik görürsünüz. İyi bir web yazılım uzmanı arıyorsanız buraya bakın. Yazdığınız kodlar sunucu sistemdeki php programı aracılığıyla normal html kodlarına çevrilmiştir ve konuk bu kodlardan başka hiçbir içerik göremez. Dikkat ettiyseniz sayfamızın kaynağındaki kodlar 4 satır varyasyonunda yazılmış, eğer php programımızda her metinden sonra ulaşan “\n” karakterini kaldırsaydık sayfamızın kaynağındaki komutlar yegâne satıra yerleşirdi. Ama bu sayfanın konukye görünen bölümünü değiştirmediği amacıyla üstünde fazla durulması mukteza olan 1 mevzu değil. 1 öbür husus da kodlarımızda kullandığımız
etiketi. Evet php içinde doğrudan doğruya html etiketleri kullanabilmemiz bize çok büyük basitlıklar sağlayacak. Php dosyaları sunucu sistemde .php veya .php3 uzantısı ile saklanır (.php3, php’nin 3. Versionu amacıyla kullanılmaktadır). Dosyamızda php kodlarını kullandığımız araziyi göstermek amacıyla veya etiket aralıklarını faydalanırız. Bu etiketlerin kullanıldığı yerden itibaren sunucu etiket aralığındaki komutları php yorumlayıcısına gönderir, php yorumlayıcısı da bu kodları düz html kodlarına döndürir. Testlerinizi 1 unıx veya türevi işletim sistemi üstünde yapman yazacaktır. Dikkat ederseniz her komuttan sonra 1 ; işareti kullanılıyor. Bu işareti kullanmamamız varyasyonunda php programı hata verecektir. Şu anda amacıylaizde “bu yazıyı html ile daha kısa 1 kod kümesi ile yazmak mümkün!” diye düşünenler olacaktır (bende ilk başta öyle düşünmüştüm :-), ama ilerde görüntü alanına değişken ile ulaşan malumatnin yazdırılmasını gördükten sonızı tavsiye ederim, çünkü php ile beraber kullanılan 1 çok fonksiyon windows 6nda işlemmakta veya problem yaratmaktadır. Elinizin 6nda php+mysql desteği yer alan 1 sistem bulunduğunu mevcutsayarak bölüme başlıyorum. İlk etapta php’nin yazım kurallarından söz etmek istiyorum. Öncesindede belirttiğim benzeri php kodları veya etiketleri arasında kullanılır. Yazdığımız her komuttan sonra ; işareti faydalanırız (c’ye benziyor demiştim ;)). 1 internet sitesinde veya formdan ulaşan değişkenleri isimlerının başına $ işaret koyarak sembolize ederiz ve değişken isimlerında türkçe karakter kullanamayız. Php ile görüntü alanına yazı yazma php mevzu başlığında verdiğim örnekte bulunduğu benzeri görüntü alanına yazı yazmak amacıyla 4 farklı yol faydalanırız (hiç yoktan ben o kadar bilgim var!) printf(“bu 1 php dosyasıdır.
”); print(“bu 1 php dosyasıdır.
”); echo (“bu 1 php dosyasıdır.
”); echo “bu 1 php dosyasıdır.
”; yukarıdaki 4 satırda görüntü alanına “bu 1 php dosyasıdır.” yazacaktır. Dikkat ederseniz her komuttan sonra 1 ; işareti kullanılıyor. Bu işareti kullanmamamız varyasyonunda php programı hata verecektir. Şu anda amacıylaizde “bu yazıyı html ile daha kısa 1 kod kümesi ile yazmak mümkün!” diye düşünenler olacaktır (bende ilk başta öyle düşünmüştüm :-), ama ilerde görüntü alanına değişken ile ulaşan malumatnin yazdırılmasını gördükten sonra sizde bu yazım şeklinin gereksiz olmadığını anlayacaksınız. Alttaki örnekte $deger isimlı değişkene değer atayıp görüntü alanına yazdırıyorum. bu dosyayı yazıp ilk.php diye kaydettikten sonra internet istemcinizin lokasyon satırına http://localhost/ilk.php müellifsanız görüntü alanıda “bu değişkenin değeri” yazısını göreceksiniz (kullandığınız sunucunun ismi localhost ve ilk.php belgesinin da ana www serininde bulunduğunu mevcutsaydım).ıyla azıcık karışık olabilir. Önce değişkenlere değer atanır ve belirli fonksiyonler kullanılarak bu değerler istenilen işlemlerden geçirilerek farklı 1 netice elde edilir. Tıpkı matematikte kullanılan fonksiyonler benzeri, belirli işlemler istenilen değişken değerine uygulanır. Yani, y = f(x, w, z) = x + w + z benzeri, bizde y araziyine $toplam diye ek olarakğişken ve x, w ve z araziyine $a, $b ve $c benzeri değişkenler kullandık. Matematikte kullanılan fonksiyonl Php ile yalnızca metinsel işlemler değil, matematiksel işlemler de hakikatleştirebilirsiniz. Bu amaçla c programlama dilinde bulunduğu benzeri toplama amacıyla +, çıkarma amacıyla -, çarpma amacıyla *, bölme amacıyla / ve kalan bulma amacıyla % sembolleri kullanılır. Talep ederseniz 1kaç örnek ile matematiksel işlemlere giriş yapalım. $toplam
\n"; echo "tanımlı değişkenlerin çarpımı: $carpim
\n"; echo "ilk ve 2nci değişkenin bölmesi neticesi bölüm: $bolum
\n"; echo "ilk ve 3üncü değişkenin bölmesi neticesi kalan: $kalan"; ?> yukarıdaki örnek, programlama ile öncesinde uğraşmamış 1isi amacerden yegâne farkı kullanılan değişken tiplerinin farklı olması ve matematiksel işlemler haricinde da işlemlerin yapılabiliyor olmasıdır. Bizim örneğimizde bir takım matematiksel değerlerin toplamı, çarpımı ve kısmı alındı. Bu matematiksel işlemleri istenilen amaç doğrultusunda uzatıp karmaşıklaştırmak mümkün. Yazdığımız php belgesinin html memba kodu tanımlı değişkenlerin toplamı: 15
tanımlı değişkenlerin çarpımı: 60
ilk ve 2nci değişkenin bölmesi neticesi bölüm: beş
ilk ve 3üncü değişkenin bölmesi neticesi kalan: 1 benzeri düz html kodlarından ibaret olacaktır. Konuknin bir türlü bizim php kodlarımızı görme şansı bulunmamaktadır. Memba kodundan kullandığımız \n karakteri html çıktımızda satırların yalnızca 1 satır benzeri değil de alt alta yazılmış satırlar olarak oluşmasını sağladı. Bu benzeri konuylarda kullanımı lazım değilse de kullanımının lazım bulunduğu konuylar katiyen bulunur. 1de 1 önceki örneği dikkatli 1 türlü tetkik etdiyseniz orada değişkenin değerini verirken “ (tırnak işareti) kullanmama karşın son örnekte kullanmadım. Tırnak işareti kullanılmadığı zaman php değişkenimizin sayısal değer taşıyan ek olarakğişken bulunduğunu anlayacaktır. Diyelim ki elimizde 2 tane metin malumatsi taşıyan değişken var. Bunlar $isim = "fehmi noyan" ve $soyisim = "isi" olsun. Bu değişkenlerin değerlerini 1leştirip yalnızca ek olarakğişkende saklamak mümkündür. Saklamak talep ettiğimiz yegâne değişken $isim_soyisim ise kullanmamız lüzumlu olan komut kümesi $isim_soyisim = $isim . " " . $soyisim; benzeri 1 satırdır. Bu işlem amacıyla çok farklı 1leştirme yolları olsa da bu kullanım pek fazla yerde işinizi görecektir. Sanal ortam formundan malumat almak buraya kadar anlattıklarım yalnızca 1 giriş amacıyladi (şu andaki aşama da daha işin başı, yani giriş bitmedi). Ama sizinde öğrendiğiniz benzeri dinamik 1 adreste değişkenlerin değerleri kullanıcı aracılığıyla sunucu sisteme yollanır. Bu iş amacıyla ya form yöntemi veya lokasyon satırından malumat girişi yolu kullanılır. En yaygın ve ergonomik olanı form yöntemidir.isim ve soyisim malumatsi
yukarıdaki örnek dosyaları yorum satırlarında belirtilen isimler ile yazıp kaydettikten sonra, istemcinizin lokasyon satırına http://localhost/isim_soyisim.html yazıp karşınıza çıkacak formu doldurun. "gönder" düğmesine bastıktan sonra php dosyamız çalışacak ve bizlere istenilen çıktıyı verecektir. Bu civarda dikkat etmeniz vacip olan nokta istemcinizin lokasyon satırındaki malumatdir. Eğer ben formda isimım amacıyla “fehmi noyan” soyismim amacıylase “ısı” (türkçe karakter kullanmamak amacıyla büyük i kullanmadım) malumatlarini girersem lokasyon satırında
http://localhost/isim_soyisim.php?isim=fehmi+noyan&soyisim=ısı
benzeri 1 satır görünecektir. Dikkat ederseniz form ile gönderilen malumatlarin name="..." bölümünün php dosyamızdaki değişken isimlerını ve lokasyon satırındaki php dosyası ve ? karakterinden sonraki kısımların php dosyamıza gidecek değişkenlerin değerini verdiğini fark edeceksiniz.
Html dosyamızda oluşturduğumuz sanal ortam formunda kullandığımız etiketi arasındaki name="..." kodu bizlere o etiket ile ulaşan malumatnin action=”...” kodu ile belirtilen dosyada aynı isimli değişken olarak kullanılacağını belirtir. Sanal ortam formunu doldurmadan da, yalnızca lokasyon satırına yukarıdaki satırı girişi yaparak de formumuza malumat yollayabiliriz. Satırda php dosyamızın isminden sonra 1 ? karakteri kullanılır, bunun ardından her değişkenin isimı ve değeri birbirinden & karakteri ile ayrılır. Bu yol ile internet formlarından malumat göndermek mümkündür ama pek ergonomik değildir.
Formumuzda get yöntemini kullandığımız amacıyla lokasyon satırında girdiğimiz malumatlar resimlendi. Aynı html belgesini formun malumatlari gönderme metodunu post olacak türlü ayarlayıp tekrar deneyin. Bu sefer lokasyon satırında girilen hiçbir malumat olmayacaktır. Yani yalnızca
http://localhost/isim_soyisim.php
benzeri 1 satır olacaktır. Ben örneklerimde artık post yöntemini kullanacağım.
Seriler
seriler bazen kullanılması kaçınılmaz olan ve her php programcısının kullanımını öğrenmesi mukteza olan elemanlardır. İsminden de anlaşılacağı üzere, seriler 1 yalnızca değişkenin değeri içinde 1den çok değer saklar. Mesela içinde haftanın günlerini barındıran 1 dizi değişken
$hafta = array(“haftanın ilk günü”, ”haftanın ikinci günü”, ”haftanın üçüncü günü”, ”haftanın dördüncü günü”, ”haftanın beşinci günü”, ”haftasonunun ilk günü”);
biçiminde tanımlanabilir. Dikkat ederseniz pazar olan “piyasa” dizi içinde yer almıyor. Piyasa’ı dizi içine dahil etmek amacıyla
$hafta[] = ”piyasa”;
biçiminde 1 ifade kullanabiliriz. Bu sayede son belirtilen “piyasa” elemanı serinin son elemanı olmuş olur.
Dizi içindeki 1 elemanı görüntü alanına yazmak amacıyla, mesela serinin 3. Elemanı,
echo $hafta[2];
komutu kullanılır. Serinin 3. Elemanı amacıyla neden “2” miktarını kullandık? bunun sebebi serilerin ilk elemanının 1. Değil 0. Eleman olmasıdır. 1 dizi değişkeninin eleman sayısı count() fonksiyonu ile öğrenilebilir.
Echo count($hafta);
ifadesi görüntü alanına 7 miktarını basacaktır. Dizi değişkenleri ve bunlar üstünde işlem yapan fonksiyonler ile ilişkin malumatyi php manuel’in “array functions” kısmında sağlayabilirsiniz.
Mantıksal işleçler
yukarıdaki işleçlerini mantıksal ifadelerde rastlaştırma ve verilen koşulun doğruluğunu sınama amacıyla kullanacağız. İlk 2 işleç haricinde, az çok matematik malumatsi olan 1isi öteki işleçlerinin kullanım şeklini kestirmiştir. Aslında ilk 2si de matematikte işlenmiş olan mantık mevzusunun 1 par
1 php dosyasında en fazla kullanacağınız ifadeleri oluşturan mantıksal işleçleri önceden programlama mantığı almamış 1 şahıs amacıyla evvelce anlaşılması azıcık zor gelebilir ama bu kısmı dile getirirken bu vaziyeti da göz önünde bulundurdum ve olabildiğimce sade ve anlaşılır 1 dil kullanmaya gayret gösterdim.
Bu etapta tekrar hatırlatmak istiyorum, php ile kullanılan mantıksal işleçleri c dili ile kullanılanların tümüyle benzeridır ve kullanım biçimleri arasında hiçbir fark bulunmamaktadır. İlk önce kullanılan işleçlerinin hangileri bulunduğunu ve bunun ardından bunların kullanım biçimlerini bahsetmeyı daha uygun gördüm.
İşleç ismi
&& ve
|| veya
== aynı miktardatir
! değil
!= aynı miktarda değil
> büyüktür
< küçüktür
>= büyük veya aynı miktardatir
<= küçük veya aynı miktardatirçasıdır.
Kullanacağımız ifadelere ulaşan malumatlar bilgisayar dilinde 2 türlü yorum yapılır. 0 ve 1, yani hatalı ve doğru. Kuracağımız tüm ifadeler bu 2 değer etrafında limitlıdır.
&& işleçi (ve) || işleçi (veya)
0 && 0 = 0 0 || 0 = 0
1 && 0 = 0 1 || 0 = 1
0 && 1 = 0 0 || 1 = 1
1 && 1 = 1 1 || 1 = 1
yukarıda && ve || işleçlerinin elde ettikları değerler doğrultusunda oluşturdukları değerleri yazdım. Bu rastlaştırma işleçlerini azıcıkdan anlatacağım mantıksal ifadeler içinde kullanacağız.
Php komutları
if
if komutu 1 ifadenin doğru olması varyasyonunda izleyen komut kümesini işletir. İngilizce anlamı “eğer” olan kelime üstlendiği görev bakımından da anlamı ile 1 tümlük içindedir.
$b )
{ echo “a sayısı b sayısından büyüktür.”; }
?>
yukarıdaki kod parçası $a değişkenindeki değer
parantez arasındaki mantıksal ifadenin doğruluğu varyasyonunda if komutunu izleyen komut kümesini (“{“ ve “}” işaretleri ile limitlı arazi) işletilir. Yukarıda $a ile belirtilen değişkenin sayısal olarak değeri $b ile belirtilenden büyük olması varyasyonunda görüntü alanına “a sayısı b sayısin sayısal olarak $b dekinden büyük olması varyasyonunda komut kümesinde belirtilen kodu araziyine getirip görüntü alanına “a sayısı b sayısından büyüktür.“ metnini basacaktır. Ters taktirde (yani $a’nın sayısal değeri $b’ninkinden küçük ise) hiçbir işlem yapılmadan komut kümesindeki kod atlanır.
İf... Else ...
Bu komutta if komutunda bulunduğu benzeri belirtilen ifadenin doğru olması varyasyonunda if ile belirtilen komut kümesini işletir, ifadenin hatalı olması varyasyonunda ise else ile belirtilen komut kümesi işletilecektir.
$b) {
echo “a sayısı b sayısından büyüktür.”;
} else {
echo “b sayısı a sayısından büyüktür.”;
}
?>
ından büyüktür.” metni ters taktirde, yani $a değişkeni sayısal olarak $b'den küçükse, görüntü alanına “b sayısı a sayısından büyüktür.” metni basılacaktır. Komut kümesinde belirtilen kod yalnızca görüntü alanına yazı yazma değil, her türlü işlem amacıyla sistemlenebilir.
While
tekrar ingilizce anlamı “esnasında” olan kelime yaptığı görev itibari ile anlamına yakındır. Parantez içinde belirtilen koşul doğru bulunduğu süre boyunca istenilen komut kümesini işletir. Alttaki örnek ilk bakışta azıcık karışık gelebilir ama dikkatli ve isimım isimım takip ederseniz pek de karışık olmadığını anlayacaksınız.
html içinde kullanılan php
bu h$a ile yazılmış 1 başlık.
\n”; $a = $a + 1; endwhile; ?> yukarıdaki örnek hem while döngüsünün kull görüntü alanına hiçbir çıktı vermeyecekti. Halbuki ilk örnekte görüntü alanına “0” basılacaktır. Do....while ile oluturulan 1 döngü while ile de oluşturulabilir ve benanımına hem de html içinde php kullanımına güzel 1 örnek oluşturuyor. Kullandığım while döngüsünü alttaki benzeri de yazabilirdim.html içinde kullanılan php
bu h$a ile yazılmış 1 başlık.
\n”; $a++; } ?> netice tekrar aynı olacaktır. Kullanım açısından 1 fark bulunmamaktadır hangisinin kullanılacağı programcıya kalmıştır ama ben örneklerimde hep 2nci kullanımı tercih ediyorum. Yukarıdaki örnekte yabancı bulunduğunuz 1 kullanım $a++ ifadesidir (bu kullanımın benzeri c’de de bulunur) bu ifade $a = $a + 1 ifadesi ile aynıdır (programcılıkta çok kullanılan 1 ifadedir ama tecrübesi olmayanlar azıcık zorlanacaktır). Bunun anlamı, ”$a’daki değeri 1 arttır ve sonra bu değeri $a’nın yeni değeri olarak ata” dır. Yani $a = 1 ise $a++’dan sonra $a = 2 olacaktır. Aynı türlü $a--'de, “$a’nın değerini 1 azalt ve görüntü alanına hiçbir çıktı vermeyecekti. Halbuki ilk örnekte görüntü alanına “0” basılacaktır. Do....while ile oluturulan 1 döngü while ile de oluşturulabilir ve ben bu değeri $a’nın yeni değeri olarak ata” dır. Yukarıdaki örnekte başlangıçta $a değişkenine 1 değeri atanıyor ve bu ifadesi ile 1 html etiketine çevriliyor. $a = 1 değeri amacıyla bu ifade , $a = 2 amacıyla bu ifade
\n"; } ?> yukarıdaki kod da while döngüsündeki ile aynı çıktıyı verir. For döngüsünde değişkenin başlangıç değeri başlangıçta yazılır, bunun ardından koşul ve nihayetinde ise değişken amacıyla işletilmesi mukteza olan bölüm gelir. Yani kullanımın kalıbı for (ilk_değer;koşul;işlem) biçimindedir. Tabii benim kullandığım örnek tüm döngüler amacıyla geçerli, öyle konuylar ile karşılaşırsınız ki alternatifiniz olmaz yani yalnızca for veya while döngüsünü kullanabilirsiniz. Ne şekilde olsa hepsi aynı işi yapıyor diye yukarıdan bakıp geçmeyin, iyice kavrayın. Switch switch döngüsü aslında iç içe geçmiş if döngüleridir. Ama, bireysel tecrübelerime dayanarak söylüyorum, pek fazla if kullandığınız 1 döngüde iş bazen hakikatten arasından çıkılmaz 1 hal alıyor. Mesela 1 sanal ortam formu ile (drop-down menu ile) sizlere ek olarakğer gelecek. Siz bu değerin ne buletilmesi varyasyonunda döngüden çıkılmasını sağlar, yani kullanıcı işletim sistemin linux olarak işaretlemişse windows, windowsnt ve en son linux kısmı işletilir. Linux kısmındaki “kullandığınız işletim sistemi linux” metni görüntü alanına basılunduğunu anlamak istiyorsunuz. Bu amaçla menüde önceden tanımlı değerler arasında 1 secim yapılır. İşte bu seçim amacıyla switch döngüsü kullanılır. Alttaki dosyaları yorum kısımlarında belirtilen isimler ile kaydedin ve bunun ardından istemcinizden menu.html belgesini açın.menu
yukarıdaki örnek kullanıcıya kullandığı işletim sistemini soruyor ve ulaşan çözüm doğrultusunda döngüde belirtilen kısmı işletiyor. Kullandığım break komutu programın o alanının iş
bu php kodu bulunduğu klasördeki dosya.html belgesini 2 kere görüntü alanına basar. Yani sanki siz o belgenin yazıyıni elle yazmışsınız benzeri çaba harcar. Bu 2 fonksiyon arasındaki fark, require() fonksiyonu yalnızca gerektiği konuylarda dosyayı işler ama include() fonksiyonu dosya görüntü alanına basılmayacak olsa dâhi (1 döngü içinde olabilir) dosyayı açıp bellek kaybına sebep olur. Bu amaçla include() fonksiyonunu kullanıyor olmanızın zorunlu olmadığı konuylarda require() fonksiyonunu kullanıyor olmanız performansı arttıracaktır. lır ve 1 sonraki komut olan break işletilir, break komutunun işlemesi ile döngüden çıkılır ve bu sayede öbür değerler denetim edilerek zaman kaybedilmez.
Switch döngüsünde kullanılan ve benim şu örnekte kullanmadığım 1 etkisi daha var: default seçeneği.
Bu opsiyon öteki hiçbir seçim doğru olmadığı taktirde çalıştırılacak kısımdır. 1 örnek vermek lüzumludurse.
bu kod görüntü alanına “değeri bilgi bulunmuyor” yazacaktır. Çünkü siz $i değişkenine tanımlı olan 2 ve 3 değerleri haricinde ne değer verirseniz verin bu 2 koşul haricinde kalan bölüm yani default ile tanımlı bölüm işletilecektir.
Bir takım php fonksiyonleri
ınclude() ve require() fonksiyonleri
include ve require fonksiyonleri 1 php programcısı
bu php kodu bulunduğu klasördeki dosya.html belgesini 2 kere görüntü alanına basar. Yani sanki siz o belgenin yazıyıni elle yazmışsınız benzeri çaba harcar. Bu 2 fonksiyon arasındaki fark, require() fonksiyonu yalnızca gerektiği konuylarda dosyayı işler ama include() fonksiyonu dosya görüntü alanına basılmayacak olsa dâhi (1 döngü içinde olabilir) dosyayı açıp bellek kaybına sebep olur. Bu amaçla include() fonksiyonunu kullanıyor olmanızın zorunlu olmadığı konuylarda require() fonksiyonunu kullanıyor olmanız performansı arttıracaktır. nın yaşamını basitlaştıran öncelikli fonksiyonlerdendir. Bu 2 fonksiyonun görevleri karşılıklı olarak aynı olsa da işleyişlerinde küçük ama ehemmiyetli 1 fark bulunur. Bu 2 fonksiyon parametre olarak elde ettikları dosyayı sanki o belgenin tüm yazıyıni yazılmışçasına işler. Mesela
Mail() fonksiyonu
isminden de anlayacağınız üzere php’de e-posta göndermek amacıyla kullanılan fonksiyondir. Kullanımı çok basit ve zahmetsiz olmasına karşın eğer testlerinizi evde 1 windows sistemi üstünde hakikatleştiriyorsanız bu fonksiyonu kullanmak amacıyla bilgisayarınıza ek olarak eposta sunucusu kurmanız lazım (ne yazık ki php ile kullanılan pek fazla fonksiyon windows 6nda problem çıkarıyor). Kurulu 1 linux sistemde böyle 1 probleminuz yok, çünkü linux ile beraber kurulan sendmail programı e-posta gönderme işinizi hallediyor.
İsset() ve unset() fonksiyonleri
isset() fonksiyonu ek olarakğişkenin içersinde ek olarakğer olup olmadığını denetim eder. Bazen 1 php programında değer atanmamış değişkenler de tespit edilebilir. Bu değişkenler boş araziye bilgisayarın belleğinda yer işgal eder. Başkaca bu fonksiyonu 1 formdan malumat alırken malumatnin gönderilip gönderilmediğini denetlemek amacıyla de kullanabiliriz.
Unset() fonksiyonu ise şahsıne parametre olarak verilen değişkeni yok eder. Kullanımları isset($degisken) ve unset($degisken) biçimindedir.
yukarıdaki yegâne satır $kimden değişkeni ile ulaşan şahısnin lokasyoni ile $kime isimlı siteye $mevzu isimlı ve yazıyı $mesaj olan e-postayı gönderir. “from:” kısmı e-postanın kimden geldiğini belirtir. Tabi yukarıdaki php belgesinin çalışabilmesi amacıyla bu dosyaya lazım malumatlari gönderecek html belgesinin da yazılması lazım.
System() fonksiyonu
bu fonksiyon php 1 sistem modülü olarak kurulduğunda işletilebilir 1 fonksiyondir. C programlama dilindeki system() fonksiyonu ile aynı görevi yapar. Yani fonksiyone parametre olarak girilen komutu işletim sistemi üstünde işletir.
yukarıdaki örnek php dosyamızın bulunduğu serinin yazıyıni görüntü alanına basar.
Fopen() fonksiyonu
fopen() fonksiyonu php’de dosyaları açmak amacıyla kullanılır. Fonksiyone parametre olarak 2 değer girilir. İlksi, dosya isimı ve 2nci de üstünde işlem yapılacak belgenin hangi işlem amacıyla kullanılacağıdır.
Php ile dosya işlemleri
öncesindede belirttiğim benzeri php, c programlama dili ile pek fazla benzerlik göstermesine rağmen dosya işlemleri benzeri uğraştırıcı işlemlerde programcıya büyük basitlıklar sağlar. Php’de dosyalar ile kullanılabilecek pek fazla fonksiyon olmasına rağmen (altmıştan fazla!) bu civarda yalnızca dosya ve klasör açma, dosyadan ve klasörden okuma ve dosyaya malumat yazma benzeri içeriklere değineceğim.
fonksiyonun kullanımı yukarıdaki kalıba göredir. “dosya_isimı” ile belirtilen araziye üstünde işlem yapılacak dosya tam yolu ile yazılmalıdır, “amaç” bölümüne ise belgenin açılacağı kip yazılır.
r dosya yalnızca okuma amacıyla açılır. İmleç belgenin başlagıcında mevzumlanır.
Yukarıdaki tablo fopen() fonksiyonu ile beraber kullanabileceğimiz dosya açma kipi parametreleridir.
A+ dosya hem yazma hem okuma amacıyla açılır. İmleç belgenin sonuna mevzumlanır. Dosya bulunmuyorsa oluşturulur.
W dosya yazma amacıyla açılır. Eğer aynı isimli dosya mevcutsa silinir ve yeniden oluşturulur.
Kip kullanım amacı
R+ dosya hem yazma hem okuma amacıyla açılır. İmleç belgenin başlagıcında mevzumlanır.
W+ dosya hem yazma hem okuma amacıyla açılır. Eğer aynı isimli dosya mevcutsa silinir ve yeniden oluşturulur.
A dosya yalnızca yazma amacıyla açılır. İmleç belgenin sonuna mevzumlandırılır. Dosya bulunmuyorsa oluşturulur.
yukarıdaki php dosyası belgenin açılıp açılamamasına göre görüntü alanına 1 mesaj verecektir. Açılan 1 dosyayı örtmek amacıyla fclose() fonksiyonu kullanılır.
Yukarıdaki örnekte ilk if deyiminin içinde başka 1
bu 2 fonksiyon yazma modunda açılmış 1 dosyadan malumat almak amacıyla kullanılır. İçlerinde küçük 1 fark bulunur. Fgets() fonksiyonu metin dosyalarında kullanılır ve dosyayı satır satır okur. Fread() fonksiyonu ise dosyayı 2li kipte (bayt bayt) okur. if deyimi kullandım. 1 dosyayı açıp tekrar kapatırken karşılaşabileceğimiz tüm ihtimalleri göz önünde bulundurmamız gerekmektedir. Mesela dosya açma işlemi muvaffakiyetli 1 türlü hakikatleşmediyse php görüntü alanına “dosyayı açmaya çaba harcarken 1 hata oluştu!” yazısını yazacaktır. Eğer dosya açma işlemi muvaffakiyetli ise “dosya başarı ile açıldı ” yazısını yazacak ve belgenin doğru 1 türlü kapatılıp kapatılamaması vaziyetina göre “ve kapatıldı.” veya “ama kapatırken hata oluştu!” ifadelerinde 1isini görüntü alanına basacaktır.
Fgets() ve fread() fonksiyonleri
”;
}
fclose($dosya);
?>
yukarıdaki php programı bulunduğumuz klasördekideğişkendeki malumatyi $dosya ile belirtilen dosyaya yazacaktır. Bu işlem sırasında bulunduğumuz klasörde defter.txt isimlı 1 dosya dosya.txt isimlı dosyayı okuma kipinde açıp belgenin bitimine değin (!feof kalıbını azıcıkdan anlatacağım) satır satır okuma hakikatleştirir ve görüntü alanına müellif. Dosyayı okuma işlemi bitince de dosyayı kapatıp programı sonlandırır. Fgets ile kullandığım “1024” rakamı okunacak 1 satırdan kaç bayt alınacağını belirtir. Aslında yukarıdaki program require() fonksiyonu ile çabucak derhal aynı işi yapar.
Fputs() ve fwrite() fonksiyonleri
tahmin edeceğiniz benzeri bu 2 fonksiyonde dosyaya malumat yazmak amacıyla kullanılır. 2si arasında 1 fark bulunmamaktadır. Yazma kipinde açılmış 1 dosyaya malumat girişi amacıyla kullanılırlar.
yukarıdaki php dosyası $metin isimlı mevcutsa silinecek ve yeniden oluşturulacaktır. Eğer varolan dosyamıza ekleme gerçekleştirmek istiyorsak kullanmamız mukteza olan dosya açma komutu fopen(“./defter.txt”,”a”) biçiminde olmalıdır. Ekleme dosya sonunu yapılır.
Feof
1 belgenin sonunun gelip gelmediğini denetim eder. Öncesindeki örneklerimden 1inde kullanmıştım.
While (!feof($dosya)) ......
Oradaki kullanım değil mantıksal işleçi
isimında da anlaşılacağı benzeri bu fonksiyon kendine parametre olarak verilen klasöri açmak amacıyla kullanılır. Bulunduğumuz klasördeki “görseller” alt serinini açmak amacıyla ile bulunduğu amacıyla kullandığım while döngüsünde dosya sonu olmayana kadar koşul doğru kabul edilip döngü sürdürülecektir.
Php ile klasör işlemleri
opendir() fonksiyonu
opendir(”./fotoğraflar”);
benzeri 1 ifade faydalanırız.
Readdir() fonksiyonu
bu fonksiyon ise açık olan 1 klasörde okuma yapmamıza olanak sağlar. Tekrar bulunduğumuz klasördeki “fotoğraflar” altdizinini okumak amacıyla
$dizi=opendir(“./fotoğraflar”);
readdir(“$klasör”);
benzeri 1 komut faydalanırız. Talep ederseniz klasörler ile ilişkin 2 fonksiyonu 1 örnek ile söyleyelim. Bu fonksiyonun çalışabilmesi amacıyla bulunduğumuz serinin içinde 1 “abc” klasöri olmalı ve kullanıcı izinleri 705 yada 755 biçiminde (yani herkese okuma yetkisi) olmalıdır.
ereg_replace() ve eregi_replace fonksiyonleri
bu fonksiyonler de belirtilen metin içinde istenilen 1 kelimeyi bulup değiştirmek amacıyla kullanılır. Tekrar eregi_replace() fonksiyonunun ereg_replace() fonksiyonunden farkı büyük-küçük harf ayrımı yapmamasıdır.
”;
$i++
}
?>
yukarıdaki php programı bulunduğumuz klasördeki “abc” serinini açıp, yazıyıni sıra ile görüntü alanına basmaktadır.
Ereg() ve eregi() fonksiyonleri
ereg() ve eregi() fonksiyonleri 1 metin içinde verilen 1 kelimeyi arar. Eregi() fonksiyonu ereg() fonksiyonunden farklı olarak arama sırasında büyük-küçük harf ayrımı yapmaz.
Hazırladığınız 1 sanal ortam formunda kullanıcının doğru 1 e-posta lokasyoni girip girmediğini denetlemek amacıyla alttaki benzeri 1 kod kullanabilirsiniz.
lütfen e-posta lokasyonunuzi doğru giriş yapın!”;
require(“uye_kayit.html”);
}
?>
php ile fonksiyon tanımlama
\n"; } tablo("linux işletim sistemi","linux, linus torvalds isimında finlandiyalı 1 öğrenci aracılığıyla geliştirildi. Daha detaylı malumat amacıyla...","http://www.dosyalar.org/kitaplık/archive-tlkg-lis.html"); tablo("php","açık memba kodlu olarak dağıtılan php dinamik sayfa tasarımı üzerine 1 çığır açtı! php hakkında her türlü yardımı bulabileceğiniz php kılavuzu gönüllüler aracılığıyla pek fazla dile çevrildi.","http://www.php.org.tr"); ?> yukarıdaki php dosyası ile tablo isimlı 1 fonksiyon tanımladım. Tanımladığım bu fonksiyone her seferinde $baslik, $metin ve $url değişkenlerini gireceğimi belirttim. Php yorumlayıcım tablo() fonksiyonunu yorumlarken öncesindeden yazılmış function tablo () { .... } kısmından yaralanır. Bu bölümde değişkenlerin isimlerı araziyine fonksiyon isimı ile bunun ardındandan verilen değerleri faydalanır. Bu kullanım işi tanımlama sırasına göredir. Bu benzeri fonksiyonler sayesinde sayfanızda çok kullandığınız kalıpları her zaman yazmak zorunda kalmazsınız. Örneği kaydedip çalıştırırsanız daha iyi anlayacağınızı sanıyorum. Buraya kadar php’ye 1 giriş yaptım. Bu civardan sonra mysql’e de 1 giriş yapmayı ve bunun ardından örneklerimi ve anlatımımı php+mysql üstünde devam ettirmeyi düşünüyorum. diyelim ki 10-15 sayfalık 1 yazı yazdım ve bu yazı içinde e-posta adresimi oldukça sık bir şekilde kullandım. Yazımı yazdıktan 1 müddet sonra e-posta adresim değişti. İşte yukarıdaki kod ile önceden yazdığım yazı içindeki eski adresimi yenisi ile değiştirebilirim. Md5() fonksiyonu md5() şifreleme amacıyla kullanılan 1 fonksiyondir. Fonksiyone parametre olarak verilen metnin boyu ne kadar olursa olsun fonksiyon bu metni 32bit ile şifreler ve arka dönüşümü bulunmamaktadır. Yani md5 ile şifrelenmiş 1 metni tekrar eski haline getirmek olanaksızdır (hiç yoktan şu an için ;)). Peki bu ne işimize yarayacak? rastlaştırma yaparken, mesela md5 ile şifrelenip veritabanına kaydedilmiş 1 şifreyi denetlemek amacıyla, kullanıcıdan ulaşan şifreyi de md5 ile şifreleyip rastlaştırma yapmanız yeterli olacaktır. Md5 hakkında daha teferruatlı malumat amacıyla sanal ortamte hiçbir internette arama siteleri (google, yandex, bind)ndan “rfc1321” aratmanız yeterli olacaktır. Unlink() fonksiyonu bu fonksiyon şahsıne parametre olarak girilen dosyayı silmek amacıyla kullanılır. Kullanımı unlink(“dosya_isimı”) biçimindedir. Mkdir() ve rmdir() fonksiyonleri bu 2 fonksiyon de klasör oluşturma ve silme amacıyla kullanılır. Mkdir() şahsıne parametre olarak verilen 1 klasöri oluşturur ve rmdir() ise şahsıne parametre olarak verilen klasöri siler. Tabii buraya kadar bahsettiğim klasör ve dosya işlemlerini hakikatleştirebilmeniz amacıyla o dosya ve klasör üstünde kullanım hakkına malik olmanız gerekmektedir. Ters taktirde dosyaya ulaşımda problem bulunduğuna dair 1 hata mesajı ile karşılaşırsınız. İnternet'bir tanesi 1 sunucudan istekte mevcut olan 1 kullanıcı sunucu sistem tarafında “öbür” kullanıcı grubuna dahil edilir. Dosya erişim izinleri bu nitelik göz önünde bulundurularak ayarlanmalıdır. Php ile fonksiyonleri yazmak php ile hazır olan fonksiyonlerin yanında, hazır olarak ulaşan fonksiyonlerden avantajlanarak kendi fonksiyonlerimizi de kullanabiliriz. Bu iş normal 1 programlama dilindeki fonksiyon tanımlama işleminden pek farklı değildir. Fonksiyon tanımlama işini 1 örnek üstünde dile getirirsam daha iyi anlaşılacağını düşünüyorum. Ben hazırladığım sitelerde mevzu başlıklarını ve kategorileri vermek amacıyla çoğunlukla ana sayfamda oluşturduğum küçük tabloları faydalanırım. Bu tablolar benim başlıklarım amacıyla 1 çerçeve görevi görür. Önceki üst ana başlık sonraki php ve mysql ile sanal ortam programlama başlangıç mysql’e giriş 1 linux kitaplığı sayfası
\n”); echo (“bu 1 php dosyasıdır.
\n”); echo “bu 1 php dosyasıdır.
\n”; ?> yukarıdaki 4 kod satırıda görüntü alanına “bu 1 php dosyasıdır.” yazdıracaktır. Ve internet istemcinizden sayfanın kaynağına baktığınız zaman yalnızca bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
bu 1 php dosyasıdır.
benzeri 1 içerik görürsünüz. İyi bir web yazılım uzmanı arıyorsanız buraya bakın. Yazdığınız kodlar sunucu sistemdeki php programı aracılığıyla normal html kodlarına çevrilmiştir ve konuk bu kodlardan başka hiçbir içerik göremez. Dikkat ettiyseniz sayfamızın kaynağındaki kodlar 4 satır varyasyonunda yazılmış, eğer php programımızda her metinden sonra ulaşan “\n” karakterini kaldırsaydık sayfamızın kaynağındaki komutlar yegâne satıra yerleşirdi. Ama bu sayfanın konukye görünen bölümünü değiştirmediği amacıyla üstünde fazla durulması mukteza olan 1 mevzu değil. 1 öbür husus da kodlarımızda kullandığımız
etiketi. Evet php içinde doğrudan doğruya html etiketleri kullanabilmemiz bize çok büyük basitlıklar sağlayacak. Php dosyaları sunucu sistemde .php veya .php3 uzantısı ile saklanır (.php3, php’nin 3. Versionu amacıyla kullanılmaktadır). Dosyamızda php kodlarını kullandığımız araziyi göstermek amacıyla veya etiket aralıklarını faydalanırız. Bu etiketlerin kullanıldığı yerden itibaren sunucu etiket aralığındaki komutları php yorumlayıcısına gönderir, php yorumlayıcısı da bu kodları düz html kodlarına döndürir. Testlerinizi 1 unıx veya türevi işletim sistemi üstünde yapman yazacaktır. Dikkat ederseniz her komuttan sonra 1 ; işareti kullanılıyor. Bu işareti kullanmamamız varyasyonunda php programı hata verecektir. Şu anda amacıylaizde “bu yazıyı html ile daha kısa 1 kod kümesi ile yazmak mümkün!” diye düşünenler olacaktır (bende ilk başta öyle düşünmüştüm :-), ama ilerde görüntü alanına değişken ile ulaşan malumatnin yazdırılmasını gördükten sonızı tavsiye ederim, çünkü php ile beraber kullanılan 1 çok fonksiyon windows 6nda işlemmakta veya problem yaratmaktadır. Elinizin 6nda php+mysql desteği yer alan 1 sistem bulunduğunu mevcutsayarak bölüme başlıyorum. İlk etapta php’nin yazım kurallarından söz etmek istiyorum. Öncesindede belirttiğim benzeri php kodları veya etiketleri arasında kullanılır. Yazdığımız her komuttan sonra ; işareti faydalanırız (c’ye benziyor demiştim ;)). 1 internet sitesinde veya formdan ulaşan değişkenleri isimlerının başına $ işaret koyarak sembolize ederiz ve değişken isimlerında türkçe karakter kullanamayız. Php ile görüntü alanına yazı yazma php mevzu başlığında verdiğim örnekte bulunduğu benzeri görüntü alanına yazı yazmak amacıyla 4 farklı yol faydalanırız (hiç yoktan ben o kadar bilgim var!) printf(“bu 1 php dosyasıdır.
”); print(“bu 1 php dosyasıdır.
”); echo (“bu 1 php dosyasıdır.
”); echo “bu 1 php dosyasıdır.
”; yukarıdaki 4 satırda görüntü alanına “bu 1 php dosyasıdır.” yazacaktır. Dikkat ederseniz her komuttan sonra 1 ; işareti kullanılıyor. Bu işareti kullanmamamız varyasyonunda php programı hata verecektir. Şu anda amacıylaizde “bu yazıyı html ile daha kısa 1 kod kümesi ile yazmak mümkün!” diye düşünenler olacaktır (bende ilk başta öyle düşünmüştüm :-), ama ilerde görüntü alanına değişken ile ulaşan malumatnin yazdırılmasını gördükten sonra sizde bu yazım şeklinin gereksiz olmadığını anlayacaksınız. Alttaki örnekte $deger isimlı değişkene değer atayıp görüntü alanına yazdırıyorum. bu dosyayı yazıp ilk.php diye kaydettikten sonra internet istemcinizin lokasyon satırına http://localhost/ilk.php müellifsanız görüntü alanıda “bu değişkenin değeri” yazısını göreceksiniz (kullandığınız sunucunun ismi localhost ve ilk.php belgesinin da ana www serininde bulunduğunu mevcutsaydım).ıyla azıcık karışık olabilir. Önce değişkenlere değer atanır ve belirli fonksiyonler kullanılarak bu değerler istenilen işlemlerden geçirilerek farklı 1 netice elde edilir. Tıpkı matematikte kullanılan fonksiyonler benzeri, belirli işlemler istenilen değişken değerine uygulanır. Yani, y = f(x, w, z) = x + w + z benzeri, bizde y araziyine $toplam diye ek olarakğişken ve x, w ve z araziyine $a, $b ve $c benzeri değişkenler kullandık. Matematikte kullanılan fonksiyonl Php ile yalnızca metinsel işlemler değil, matematiksel işlemler de hakikatleştirebilirsiniz. Bu amaçla c programlama dilinde bulunduğu benzeri toplama amacıyla +, çıkarma amacıyla -, çarpma amacıyla *, bölme amacıyla / ve kalan bulma amacıyla % sembolleri kullanılır. Talep ederseniz 1kaç örnek ile matematiksel işlemlere giriş yapalım. $toplam
\n"; echo "tanımlı değişkenlerin çarpımı: $carpim
\n"; echo "ilk ve 2nci değişkenin bölmesi neticesi bölüm: $bolum
\n"; echo "ilk ve 3üncü değişkenin bölmesi neticesi kalan: $kalan"; ?> yukarıdaki örnek, programlama ile öncesinde uğraşmamış 1isi amacerden yegâne farkı kullanılan değişken tiplerinin farklı olması ve matematiksel işlemler haricinde da işlemlerin yapılabiliyor olmasıdır. Bizim örneğimizde bir takım matematiksel değerlerin toplamı, çarpımı ve kısmı alındı. Bu matematiksel işlemleri istenilen amaç doğrultusunda uzatıp karmaşıklaştırmak mümkün. Yazdığımız php belgesinin html memba kodu tanımlı değişkenlerin toplamı: 15
tanımlı değişkenlerin çarpımı: 60
ilk ve 2nci değişkenin bölmesi neticesi bölüm: beş
ilk ve 3üncü değişkenin bölmesi neticesi kalan: 1 benzeri düz html kodlarından ibaret olacaktır. Konuknin bir türlü bizim php kodlarımızı görme şansı bulunmamaktadır. Memba kodundan kullandığımız \n karakteri html çıktımızda satırların yalnızca 1 satır benzeri değil de alt alta yazılmış satırlar olarak oluşmasını sağladı. Bu benzeri konuylarda kullanımı lazım değilse de kullanımının lazım bulunduğu konuylar katiyen bulunur. 1de 1 önceki örneği dikkatli 1 türlü tetkik etdiyseniz orada değişkenin değerini verirken “ (tırnak işareti) kullanmama karşın son örnekte kullanmadım. Tırnak işareti kullanılmadığı zaman php değişkenimizin sayısal değer taşıyan ek olarakğişken bulunduğunu anlayacaktır. Diyelim ki elimizde 2 tane metin malumatsi taşıyan değişken var. Bunlar $isim = "fehmi noyan" ve $soyisim = "isi" olsun. Bu değişkenlerin değerlerini 1leştirip yalnızca ek olarakğişkende saklamak mümkündür. Saklamak talep ettiğimiz yegâne değişken $isim_soyisim ise kullanmamız lüzumlu olan komut kümesi $isim_soyisim = $isim . " " . $soyisim; benzeri 1 satırdır. Bu işlem amacıyla çok farklı 1leştirme yolları olsa da bu kullanım pek fazla yerde işinizi görecektir. Sanal ortam formundan malumat almak buraya kadar anlattıklarım yalnızca 1 giriş amacıyladi (şu andaki aşama da daha işin başı, yani giriş bitmedi). Ama sizinde öğrendiğiniz benzeri dinamik 1 adreste değişkenlerin değerleri kullanıcı aracılığıyla sunucu sisteme yollanır. Bu iş amacıyla ya form yöntemi veya lokasyon satırından malumat girişi yolu kullanılır. En yaygın ve ergonomik olanı form yöntemidir.
\n”; $a = $a + 1; endwhile; ?> yukarıdaki örnek hem while döngüsünün kull görüntü alanına hiçbir çıktı vermeyecekti. Halbuki ilk örnekte görüntü alanına “0” basılacaktır. Do....while ile oluturulan 1 döngü while ile de oluşturulabilir ve benanımına hem de html içinde php kullanımına güzel 1 örnek oluşturuyor. Kullandığım while döngüsünü alttaki benzeri de yazabilirdim.
\n”; $a++; } ?> netice tekrar aynı olacaktır. Kullanım açısından 1 fark bulunmamaktadır hangisinin kullanılacağı programcıya kalmıştır ama ben örneklerimde hep 2nci kullanımı tercih ediyorum. Yukarıdaki örnekte yabancı bulunduğunuz 1 kullanım $a++ ifadesidir (bu kullanımın benzeri c’de de bulunur) bu ifade $a = $a + 1 ifadesi ile aynıdır (programcılıkta çok kullanılan 1 ifadedir ama tecrübesi olmayanlar azıcık zorlanacaktır). Bunun anlamı, ”$a’daki değeri 1 arttır ve sonra bu değeri $a’nın yeni değeri olarak ata” dır. Yani $a = 1 ise $a++’dan sonra $a = 2 olacaktır. Aynı türlü $a--'de, “$a’nın değerini 1 azalt ve görüntü alanına hiçbir çıktı vermeyecekti. Halbuki ilk örnekte görüntü alanına “0” basılacaktır. Do....while ile oluturulan 1 döngü while ile de oluşturulabilir ve ben bu değeri $a’nın yeni değeri olarak ata” dır. Yukarıdaki örnekte başlangıçta $a değişkenine 1 değeri atanıyor ve bu
, $a = 2 amacıyla bu ifade ... Diye değerler alır. While döngüsü ile $a’nın alabileceği en son değerin 6 bulunduğu belirtilmiştir ($a < 7, 7 bulunduğu an döngü son bulur!). $a’nın 7 değerini alması ile belirtilen koşul hatalı olur (yani 0) ve döngü işletilmez. Eğer $a++ ifadesi kullanılmamış olsaydı, program sonsuz döngüye girecekti bu da görüntü alanına sonsuz kere etiketi ile belirtilen metnin basılması anlamına gelir. (aslında sunucu sistemdeki php ayar dosyasında öntanımlı olarak php dosyalarının maksimum işlem müddetleri 30 saniye olarak belirlendiği amacıyla sonsuz döngü kelimeleri net bir şekilde doğru değildir).
While döngüsünde koşul önce gözden geçirilir, bunun ardından işlemler hakikatleştirilir.
Do ... While
do...while döngüsü, while döngüsü ile aynı fonksiyone maliktir. Yalnız arada 1 fark bulunur. While döngüsünde koşul döngüye girilmeden denetim edilir buna karşın do....while döngüsünde koşul döngünün nihayetinde denetim edilir.
0);
?>
yukarıdaki kod normal while döngüsü ile yazılmış olsaydı, yani aağıdaki benzeri
0) {
print $a;
}
?>im şahsi görüşüm, while döngüsünün kullanımı daha basittir. Tabi ki bu döngünün de kendine has kullanım alanları bulunur ama ben şu ana kadar kendi yazdığım scriptlerde bu tür döngüler amacıyla hep while döngüsünü kullandım.
For
for döngüsü de çabucak çabucak aynı fonksiyonu görür. Kullanım şeklini, while döngüsündeki örnek ile aynı çıktıyı verecek 1 örnek ile açıklamak istiyorum.
html içinde kullanılan php
bu h$a ile yazılmış 1 başlıktır.
etiketi ile belirtilen metnin basılması anlamına gelir. (aslında sunucu sistemdeki php ayar dosyasında öntanımlı olarak php dosyalarının maksimum işlem müddetleri 30 saniye olarak belirlendiği amacıyla sonsuz döngü kelimeleri net bir şekilde doğru değildir).
While döngüsünde koşul önce gözden geçirilir, bunun ardından işlemler hakikatleştirilir.
Do ... While
do...while döngüsü, while döngüsü ile aynı fonksiyone maliktir. Yalnız arada 1 fark bulunur. While döngüsünde koşul döngüye girilmeden denetim edilir buna karşın do....while döngüsünde koşul döngünün nihayetinde denetim edilir.
0);
?>
yukarıdaki kod normal while döngüsü ile yazılmış olsaydı, yani aağıdaki benzeri
0) {
print $a;
}
?>im şahsi görüşüm, while döngüsünün kullanımı daha basittir. Tabi ki bu döngünün de kendine has kullanım alanları bulunur ama ben şu ana kadar kendi yazdığım scriptlerde bu tür döngüler amacıyla hep while döngüsünü kullandım.
For
for döngüsü de çabucak çabucak aynı fonksiyonu görür. Kullanım şeklini, while döngüsündeki örnek ile aynı çıktıyı verecek 1 örnek ile açıklamak istiyorum.
html içinde kullanılan php
bu h$a ile yazılmış 1 başlıktır.
\n"; } ?> yukarıdaki kod da while döngüsündeki ile aynı çıktıyı verir. For döngüsünde değişkenin başlangıç değeri başlangıçta yazılır, bunun ardından koşul ve nihayetinde ise değişken amacıyla işletilmesi mukteza olan bölüm gelir. Yani kullanımın kalıbı for (ilk_değer;koşul;işlem) biçimindedir. Tabii benim kullandığım örnek tüm döngüler amacıyla geçerli, öyle konuylar ile karşılaşırsınız ki alternatifiniz olmaz yani yalnızca for veya while döngüsünü kullanabilirsiniz. Ne şekilde olsa hepsi aynı işi yapıyor diye yukarıdan bakıp geçmeyin, iyice kavrayın. Switch switch döngüsü aslında iç içe geçmiş if döngüleridir. Ama, bireysel tecrübelerime dayanarak söylüyorum, pek fazla if kullandığınız 1 döngüde iş bazen hakikatten arasından çıkılmaz 1 hal alıyor. Mesela 1 sanal ortam formu ile (drop-down menu ile) sizlere ek olarakğer gelecek. Siz bu değerin ne buletilmesi varyasyonunda döngüden çıkılmasını sağlar, yani kullanıcı işletim sistemin linux olarak işaretlemişse windows, windowsnt ve en son linux kısmı işletilir. Linux kısmındaki “kullandığınız işletim sistemi linux” metni görüntü alanına basılunduğunu anlamak istiyorsunuz. Bu amaçla menüde önceden tanımlı değerler arasında 1 secim yapılır. İşte bu seçim amacıyla switch döngüsü kullanılır. Alttaki dosyaları yorum kısımlarında belirtilen isimler ile kaydedin ve bunun ardından istemcinizden menu.html belgesini açın.
| $metin $url |
\n"; } tablo("linux işletim sistemi","linux, linus torvalds isimında finlandiyalı 1 öğrenci aracılığıyla geliştirildi. Daha detaylı malumat amacıyla...","http://www.dosyalar.org/kitaplık/archive-tlkg-lis.html"); tablo("php","açık memba kodlu olarak dağıtılan php dinamik sayfa tasarımı üzerine 1 çığır açtı! php hakkında her türlü yardımı bulabileceğiniz php kılavuzu gönüllüler aracılığıyla pek fazla dile çevrildi.","http://www.php.org.tr"); ?> yukarıdaki php dosyası ile tablo isimlı 1 fonksiyon tanımladım. Tanımladığım bu fonksiyone her seferinde $baslik, $metin ve $url değişkenlerini gireceğimi belirttim. Php yorumlayıcım tablo() fonksiyonunu yorumlarken öncesindeden yazılmış function tablo () { .... } kısmından yaralanır. Bu bölümde değişkenlerin isimlerı araziyine fonksiyon isimı ile bunun ardındandan verilen değerleri faydalanır. Bu kullanım işi tanımlama sırasına göredir. Bu benzeri fonksiyonler sayesinde sayfanızda çok kullandığınız kalıpları her zaman yazmak zorunda kalmazsınız. Örneği kaydedip çalıştırırsanız daha iyi anlayacağınızı sanıyorum. Buraya kadar php’ye 1 giriş yaptım. Bu civardan sonra mysql’e de 1 giriş yapmayı ve bunun ardından örneklerimi ve anlatımımı php+mysql üstünde devam ettirmeyi düşünüyorum. diyelim ki 10-15 sayfalık 1 yazı yazdım ve bu yazı içinde e-posta adresimi oldukça sık bir şekilde kullandım. Yazımı yazdıktan 1 müddet sonra e-posta adresim değişti. İşte yukarıdaki kod ile önceden yazdığım yazı içindeki eski adresimi yenisi ile değiştirebilirim. Md5() fonksiyonu md5() şifreleme amacıyla kullanılan 1 fonksiyondir. Fonksiyone parametre olarak verilen metnin boyu ne kadar olursa olsun fonksiyon bu metni 32bit ile şifreler ve arka dönüşümü bulunmamaktadır. Yani md5 ile şifrelenmiş 1 metni tekrar eski haline getirmek olanaksızdır (hiç yoktan şu an için ;)). Peki bu ne işimize yarayacak? rastlaştırma yaparken, mesela md5 ile şifrelenip veritabanına kaydedilmiş 1 şifreyi denetlemek amacıyla, kullanıcıdan ulaşan şifreyi de md5 ile şifreleyip rastlaştırma yapmanız yeterli olacaktır. Md5 hakkında daha teferruatlı malumat amacıyla sanal ortamte hiçbir internette arama siteleri (google, yandex, bind)ndan “rfc1321” aratmanız yeterli olacaktır. Unlink() fonksiyonu bu fonksiyon şahsıne parametre olarak girilen dosyayı silmek amacıyla kullanılır. Kullanımı unlink(“dosya_isimı”) biçimindedir. Mkdir() ve rmdir() fonksiyonleri bu 2 fonksiyon de klasör oluşturma ve silme amacıyla kullanılır. Mkdir() şahsıne parametre olarak verilen 1 klasöri oluşturur ve rmdir() ise şahsıne parametre olarak verilen klasöri siler. Tabii buraya kadar bahsettiğim klasör ve dosya işlemlerini hakikatleştirebilmeniz amacıyla o dosya ve klasör üstünde kullanım hakkına malik olmanız gerekmektedir. Ters taktirde dosyaya ulaşımda problem bulunduğuna dair 1 hata mesajı ile karşılaşırsınız. İnternet'bir tanesi 1 sunucudan istekte mevcut olan 1 kullanıcı sunucu sistem tarafında “öbür” kullanıcı grubuna dahil edilir. Dosya erişim izinleri bu nitelik göz önünde bulundurularak ayarlanmalıdır. Php ile fonksiyonleri yazmak php ile hazır olan fonksiyonlerin yanında, hazır olarak ulaşan fonksiyonlerden avantajlanarak kendi fonksiyonlerimizi de kullanabiliriz. Bu iş normal 1 programlama dilindeki fonksiyon tanımlama işleminden pek farklı değildir. Fonksiyon tanımlama işini 1 örnek üstünde dile getirirsam daha iyi anlaşılacağını düşünüyorum. Ben hazırladığım sitelerde mevzu başlıklarını ve kategorileri vermek amacıyla çoğunlukla ana sayfamda oluşturduğum küçük tabloları faydalanırım. Bu tablolar benim başlıklarım amacıyla 1 çerçeve görevi görür. Önceki üst ana başlık sonraki php ve mysql ile sanal ortam programlama başlangıç mysql’e giriş 1 linux kitaplığı sayfası
Yorumlar
Yorum Gönder