26 Şubat 2014 Çarşamba

PHP - Veritabanı ile Çalışmak

* 22.11.09 tarihinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ve Web Programlama eğitimi ders notlarıdır.


İnteraktif programlamanın en önemli kısmı, verilerin, Web iletişimin her iki unsurundan alınan bilgilerin en hızlı biçimde kaydedilip; sırası geldiğinde çağrıldığı veri depolama ortamlarıdır.

Verilerimizi, sunucumuzda iki şekilde saklama olanağımız bulunmaktadır.
Bunlardan ilki, verilerimizi, sıralı erişim dosyalarında saklamak; ikincisi verilerimizi ilişkisel veri tabanlarında saklamak.

Sıralı erişim dosyalarında, veriler sıralı girilip, sıralı okunabilirler. Bu yanıyla, Web'in devingen yanına uyum sağlamada arkaik kalırlar.
Oysa ilişkisel veri tabanında, veriler kaydedilip; olağanüstü hızda rastgele çağrılabilirler. İlişkisel veri tabanı yöntemi, günümüz webinin tabiatına en uygun olan seçenektir.


İlişkisel veritabanında, karşımıza bazı kavramlar çıkmaktadır.

Bu kavramlar: Tablo, satır, sutun, anahtar gibi kavramlardır.

Yapısından, veritabanı unsuru çıkarılmış bir web modeli, basit pinpon oyunundan farksız olacak. İneraktif webin bütün albenisi, sunucu ve istemci etkileşiminde olduğu kadar, bu etkileşimin konusu olan verilerin saklandığı veritabanı da sayılabilir.







PHP - Fonksiyonlar ve Değişkenlerin Kapsamı

* 15.11.09 tarihinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ve Web Programlama eğitimi ders notlarıdır.

Değişkenlerin Kapsamı



Değişkenler, program içerisinde sıkça kullandığımız ve verileri sakladığımız kaplardır. Her değişken, kullanımı kolay ve hatırda kalan ismi ile, bellek alanında bir adres bölgesine işaret ederek önemli bir işi yapmaktadırlar. Bunu tıpkı domain adlarının, IP'leri işaret etmesi ve akılda zor tutulabilecek sayısal bir dizgeyi ezberlemek uğraşından bizi kurtarmasına benzetebiliriz.

Değişkenler, program içerisinde tanımlanır, değer alır ve bu değeri program içerisinde değişiklik gösterebilir.
Değişkenlerin, aldıkları değer kadar, bu değerlerin hafıza bölgesinde saklanma ömürleri ve bu ömür içerisinde başka işlemler tarafından algılanıp/algılanmaması söz konusudur.

İşte bu konunun kavramsal adı, değişken kapsamıdır.

Değişkenler, kapsam açısından iki kısma ayrılır,

-Yerel (Local)
-Genel (Global) değişkenler.

Global değişkenler, etki alanların en yüksek olan değişkenlerdir. Ve tanımlandıkları tüm kod bölgesi içerisinde okunabilir ve değiştirilebilirler.

Yerel değişkenler ise tanımlandıkları bölge içerisinde etkin olup, bu bölge içerisinde okunup, yazılabilirler.


Söz gelimi, bir fonksiyon, döngü ya da yapı içerisinde tanımlanan değişken, varsayılan olarak yerel(local) bir değişkendir. Etkisi ve ömrü tanımlandığı yapının kod blokları ile sınırlıdır. Yorumlayıcı/Derleyici bu kod bloğunun dışına çıktığında, bu değişken de miadını doldurmakta ve hafıza bölgesinden silinmektedir.

Bunu iç içe kümeler olarak düşünebilir.

Kümelerimizi birer kod yapıları olarak kabul edelim

A,B ve C isimli kümelerimizin her biri kod yapılarıdır.

A kümesi, B kümesini; B kümesi de C 'yi kapsamaktadır.

A kümesinde bulunan bir değişken hem B, hem de C için global değerdedir.

B kümesinde tanımlanan bir değişken A için yerel; C için ise global değerdedir.

C içinde tanımlanan değişken ise, A ve B kümeleri için yerel; C kümesinin içerdiği tüm elemanlar için ise global yani evrensel değerdedir.





FONKSIYONLAR

Fonksiyonlar, bir işi yapmak üzere tanımlanmış, özel kod bloklarıdır. Hafıza bölgesine bir kez yüklendikten sonra, çağrıldıkları her an, kendileri için tanımlanmış işlemi yapar ve kendilerini sonlandırırlar.

Function EkranaYaz()
{
echo “Bu bir fonksiyondur”;
}



Fonksiyonlar iki kısma ayrılır: Değer döndüren ve değer döndürmeyen fonksiyonlar.

Değer döndüren fonksiyonlar, icralarının sonunda, geriye, X tipinde(herhangi bir tip olabilir) bir sonuç bırakırlar; değer döndürmeyen değişkenler ise, çağrıldıkları an icra edilirler ve kendilerini sonlandırırlar.

İster değer döndürsün, ister değer döndürmesin fonksiyonlar, dışarıdan değer alıp, işlemleri bu değerler ile yapabilirler. Bunlara, dinamik ya da etkileşimli fonksiyonlar diyebiliriz.






Söz gelimi:
function Hesapla()
{
echo $a+$b;
}
Yukarıdaki fonksiyon, parametresiz çağrılan ve değer döndürmeyen bir fonksiyondur. $a ve $b değişkenlerinin toplamını ekrana yazmakla görevlidir. $a ve $b değişkenlerinin değeri, parametrik olarak dışarıdan alınmadığı için, fonksiyon içerisinde tanımlanmak zorundadır. Bu da fonksiyonun varoluş amacı ile terstir.

Ama yukarıdaki Hesapla() isimli fonksiyon aşağıdaki şekilde olabilir

function Hesapla($a,$b)
{
echo $a+$b;
}

Dinamik bir fonksiyon yazdık. A ve B değerlerini dışarıda almakta ve yalnızca yapacağı işlemi bilmektedir. A ve B değeri ne olursa olsun; Hesapla() fonksiyonu bu iki sayıyı toplayıp sonucu ekrana yazacaktır.







Parametreli Fonksiyonlara Değer Aktarmanın Çeşitleri

Fonksiyon çağrıldığında, işlem yapabilmesi için kendine değer ya da değerler geçirilebilir. Birincisi, değişkenin yalnızca değerini geçirerek fonksiyona parametre atayabiliriz. Peki ama bu ne demektir?


$sayi=1;

function arttir($sayi)
{
$sayi++;
echo $sayi;
}

arttir($sayi);
echo $sayi;


Ekran çıktısı:

2
1

şeklinde olacaktır. Fonksiyonumuza yalnızca $sayi isimli değişkenin değerini geçirdik. Kendisini değil. Echo $sayi komutundan da görülebileceği gibi, $sayı değişkeninin değerinde hiçbir değişiklik olmadı.


$sayi=2;

function arttir()
{
$sayi++;
echo $sayi;
}
arttir();
Kodumuzu yukarıdaki şekilde yeniden yazıp sonucu kontrol ettiğimizde, ekranda istediğimiz sonucun görüntülenmediğini görebiliriz. Oysa ki $sayi isimli değişken arttir() fonksiyonu için, global yani evrensel değerdedir. Fakat fonksiyonlar, kendilerine referans ya da değer seçeneklerinden biri ile aktarılmayan değişkenleri tanımamaktadır. Öyle ise, fonksiyonumuz içerisinde, $sayi değişkeninin ne olduğunu /hangi öneme sahip olduğunu belirtmeğe ihtiyacımız var.

$sayi=2;

function arttir($sayi)
{
global $sayi
$sayi++;
echo $sayi;
}


Böylelikle, $sayi isimli değişkenin, fonksiyonun çağrıldığı yer açısından global yani evrensel değerdeki $sayi isimli değişkene ait olduğunu belirtiyoruz. 

PHP'nin Yapı Taşları

*13.09.09 tarihinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ve Web Programlama eğitimi ders notlarıdır.
PHP Dersi Başlıyor

Artık neden PHP kulanmamız gerektiğini biliyoruz.
İstemci-Sunucu Mimarisini de öğrendik. Bu mimari de yani İstemci-Sunucu mimarisinde, ASP,PHP gibi script dosyalarının İstemci makineye doğrudan yollanmayıp, dosyanın açılarak üzerinde, PHP veya ASP kodları arandığını; bu kodların Web Hizmeti Programı trafından çalıştırılarak, yalnızca sonuçların istemci makineye gönderildiğini tekrar tekrar vurguladık.

HTML Neyimize Yetmiyordu?
HTML’nin yapamayacağı şeyleri sıralayarak bu soruya cevap verebiliriz: HTML ile sunucu da bulunan bir veritabanı dosyasını açıp, içindeki verileri okuyamayız.
HTML yoluyla Sunucunun sabit diskinde bulunan dosyaları, örneğin Text dosyalarını da açıp okuyamayız. Sunucunun sabit diskine dosya yazamayız, veya yazılan dosyaları açıp üzerinde değişiklikler yapamayız HTML ile.
HTML ile ziyaretçimizden bilgi alıp sunucuya yollayabilriz, ama sadece bu kadar! Bu bilgileri işlemek için sunucuda bir programa ihtiyacımız var, bu da PHP yorumlayıcımızdır.

PHP Dosyalarındaki Yorum Satırları
#, //,/**/

PHP’nin Yapı Taşları
PHP, bir programlama dili olarak; değişkenler, değişkenlerin değerleriyle işlem yapmamızı sağlayan operatörler(işleçler)’e sahiptir.

Değişkenler
Programcılıkta işlemlerimizi değişkenler ile yaparız. Değişkenleri bir kap gibi düşünebiliriz. Örneğin “Gün” bir değişkenin adı ise bu değişkenin değeri Pazartesi,Salı gibi bir değer olabilir. Her değişken türüne göre bir ya da daha fazla değer tutabilir. Adından da anlayabileceğimiz gibi değişkenin değeri, program esnasında yapılan işlemler sonucunda, ya da atamalar sonucunda değişir. Bu değişikliği biz yapabilriz; programın bir yerinde işlemler sonucunda değişkenin değeri de değişebilir.
PHP’de de, diğer programlama dillerinde olduğu gibi bir değişken kullanılmadan önce tanımlanmalıdır, ama bu gerekli değildir.
PHP’de değişkenlerimizi, değişken adlarının önüne $ işareti koyarak tanımlayabiliriz
Değişkenler, harf,rakam alt çizgi (_) ile başlayabilirler.bu karakterleri içerebilirler; ama boşluk ve diğer işaretler (?,*,# vs.) bulunamaz!
Bir değişkene verebileceğimiz ad, onun tutacağı değeri belirlemez
Örneğin Gün isimli bir değişkenin değeri Pazartesi de olabilir, 1 de 2 de…

Değişken isimleri küçük-büyük harf duyarlıdır.

PHP, değişkenlere, tuttukları değere göre farklı bellek alanları ayırır. Bu bakımdan verilerimizin türü etkin bir programcılık açısından önem taşır. Diğer programlama dillerinde olduğu gibi belirli veri türleri ile belirli işlemleri yapabilirz, belirli işlemleri yapamayız.
Örneğin, ancak iki sayı arasında aritmetik işlem yapılabilir. İki metin tutan değişken aritmetik olarak toplanamaz, içerdikleri değer birleştirilebilir.

PHP açısından dünyada altı tür değer vardır:
Tamsayı (Integer): 5,124, 9834 gibi
Çift (Double): 3,567 gibi
Alfanümerik (String): "Resit" gibi
Mantıksal (Boolean): doğru (true)/yanlıs (false) gibi
Nesne (Object)
Dizi (Array)


GETTYPE() FONKSİYONU İLE BİR DEĞİŞKENİN TÜRÜNÜ ÖĞRENEBİLİRİZ.

SETTYPE() FONKSİYONLU İLE BİR DEĞİŞKENİN TÜRÜNÜ BAŞKA BİR TÜRE DÖNÜŞTÜREBİLİRİZ.

Dört Yararlı Fonksiyon
İsset() ve unset(), empty(),is_string(),is_integer,is_double()




Sabitler(Constants)

Sabitler şu şekilde tanımlar:

Define(‘DegiskenAdi’,deger);

Sabit Tanımlanmış mı?
Bool İs_defined(sabit_adi)

İşlemciler(Operatörler)

Aritmetik islemciler:
+ Toplama 6+5 = 11
- Çıkartma 6-5 = 1
/ Bölme 6/5 = 1.2
* Çarpma 6*5 = 30
% Kalan (Modulus) 6%5 = 1


Birleşik Atama Operatörleri

İslemci Örnek Anlamı
+= $a += 5 $a = $a + 5
-= $a -= 5 $a = $a - 5
/= $a /=5 $a = $a / 5
*= $a *= 5 $a = $a * 5
%= $a%= 5 $a = $a % 5
.= $a.= "metin" $a = $a" metin"


Bir Arttırmak ve Bir Azaltmak
$a++;
$a--;




PHP - KARAR YAPILARI ve DÖNGÜLER

* 11.10.2009 tarhiinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ve Web Programlama ders notlarıdır. 

KARAR YAPILARI ve DÖNGÜLER



Bir bütün olarak programlar yahut işlem blokları yapısal olarak üç ayrı kategoride gruplanabilir.

1) Doğrusal
2) Mantıksal
3) Döngüsel


Yaptıkları işlem ya da alınmak istenen sonuçlara göre bu üç gruptan birine dahil edilen programımız, yazıldığı amaç gerçekleştikten sonra sonlanır.

1) Doğrusal Program : Bu tipte, kodlar yukarıdan aşağıya doğru yorumlanır veya çalıştırılır. Herhangi bir geri dönüş, ileri sıçayıp ya da blokların tekrarı söz konusu değildir
2) Mantıksal Program: Bu tip programlarda ise, belirli şartlar programın yönünü tayin eder. Program, gerçekleşen şartta devam etmesi planlanan kısımdan devam eder.
3) Döngüsel Program : Bu tipte program, X şartının gerçekleşmesi halinde, Y kez tekrarlanır.

Bir program, bunlardan biri olabilir. Ya da, bir program bu gruplardan yalnızca 2. ve 3. madde için söylenirse, ikisine birden dahil edileblir.

Bu dersimizde, sırası ile, karar ifadelerini ve döngü yapılarını göreceğiz.

if-else

____________________

Günlük yaşantımızda çoklukla, belirli anlarda belirli durumlara göre karar vermek ve bu karar sonucunda belirli işlemler yapmak ve diğer seçenekleri dıştalamak zorunda kalırız. Programlarımız da, varlıkların iş yapma yetisinin soyutlanmış hali ile belirli durumlarda belirli kararlar vermekte ve işleme karar için tayin edilen yönde devam etmektedir.
if-else yapısı programlama en çok tanınan ve PHP'nin diğer programlama dilleri ile paylaştığı bir karar-kontrol mekanizmasıdır

if ( koşullar ) {
koşullar doğru ise yapılacak işlere ilişkin komutlar
}

else {
diğer her durumda yapılacak işlere ilişkin komutlar
}













Hayatta, ne hesap edilen olasılıklar ne bu olasılıklara tayin edecek yön tek değildir. Programlarımızda da birden çok durumu/değeri sınamak zorunda kalabiliriz. Bu tür durumlarda
if-elseif-else blokları kullanılmaktadır.









İf ( koşullar ) {
koşullar doğru ise yapılacak işlere ilişkin komutlar
}
elseif (diğer koşullar) {
diğer koşullar doğru ise yapılacak işlere ilişkin komutlar
}
else {
diğer her durumda yapılacak işlere ilişkin komutlar
}


Switch-Case
____________________

Programımızın akış kontrolünde, bazen daha spesifik değerleri sınamak durumunda olabiliriz. Bu tür hallerde switch-case kullanılabilir:



switch ( değişken ) {
case KOŞUL-1 ;
Koşul-1 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-2 ;
Koşul-2 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-3 ;
Koşul-3 doğru ise yapılacak işlere ilişkin komutlar
break;
case KOŞUL-4 ;
Koşul-4 doğru ise yapılacak işlere ilişkin komutlar





Yukarıda bahsedilen karar yapısı, çok önemli bir özellik olarak PROGRAMIN İLERİ DOĞRU AKIŞINI BOZMAYAN, YALNIZCA PROGAMIN İLERİYE DOĞRU HAREKETİNDE, İLERİDE DEVAM EDECEĞİ NOKTAYI KESTİRECEĞİZ YAPISAL FONKSİYONLAR SUNAN ÖZELLİKLER idi.

Şimdi göreceğiz döngüler ise, programın ileriye doğru akışını vereceği bir karar ile etkileyebilen, bazı kod bloklarının tekrarlı şekilde işlenmesini sağlayan yapılardır.


while Döngüsü

While döngüsü kendisine verilen koşul doğru ise, beraberindeki kod bloğunu, doğruluk durumu süresince tekrar eder.



while (koşul) {
Koşul doğru ise yapılacak işlere ilişkin komutlar
}


do...while
_____________

While döngüsünün, kendisine verilen koşul doğru iken, beraberindeki kod satırını icra ettiğini gördük. Böyle olsa bile, bazen, kod bloğunda belirttiğimiz işlemin hiç değilse 1 defalığa mahsus işletilmesini isteyebiliriz. Bu tür durumlarda do--while döngüsü kullanılmaktadır.

Yazılışı:
do
{

}
while(koşul) ;



for Döngüsü
_____________

Yukarıda andığımız döngülerin tamamı, belirsiz bir sayısa, kendisine verilen koşulun doğruluğunda devam eder. Oysa biz, programımızda, belirlediğimiz bir işlemin, belirlediğimiz kerede tekrar etmesine de ihtiyaç duyuyor olabiliriz. Bu tür durumlarda for Döngüsü kullanılmaktadır.

for ( $yeni_degisken atama ; koşul ; artış basaması ) {
Koşul doğru ise yapılacak işlere ilişkin komutlar
}


foreach Döngüsü
__________________

Şimdiye kadar gördüğümüz döngüleri iki gruba ayırabiliriz
1) Kendisine verilen koşul doğruluğunda tekrar eden döngüler
2) Belirli bir adede ulaşılıncaya kadar tekrar edilen döngüler

Bu iki tipe bir üçüncü tip olarak da, kendisine verilen koleksiyon uzunluğunda tekrar eden döngüleri ekleyebiliriz. Bu döngümüzün adı foreach'tir

foreach(kaynak as hedef)
{

}





continue ve break komutları

break : okunduğu an kod bloğu kesilerek çalışma durdurulur
continue : kod blogunu en başa döndürerek çalışmayı devam ettirir.




PHP Arrays - Diziler

*04.10.2009 tarihinde İstanbul'da bir bilgisayar dershanesinde verdiğim PHP ile Web Programlama derslerinin notlarıdır. Faydalı olması dileği ile.

DİZİLER

  • Bu konudan önce işlem yaptığımız tüm değişkenler scaler tipte yani tekil değişkenlerdir.
  • Scaler değişken; bir değerin tutulduğu adlandırılmış bir konumdur.
  • Dizi değişken ise, bir değerler grubunu depolamak için kullanılan yerdir.


Her dizide en az bir index ve bir değer çifti bulunmak zorundadır.

SAYISAL İNDEXLİ DİZİLER

Sayısal indexli diziler birçok programlama dilinde desteklenir. PHP’de sayısal indexli diziler VARSAYILAN olarak 0 ile başlar. Ama bu değeri değiştirmememiz mümkündür.

Örnek bir dizi şu şekilde oluşturulabilir:
$dizi=Array(‘Mart’,’Nisan’,’Mayıs’);
*Önemli bir not: Array anahtar kelimesi de tıpkı ECHO anahtar kelimesi gibi, bir fonksiyon değil; bir dil yapısıdır.

RANGE
Otomatik olarak sıralı diziler oluşturmamızı sağlayan fonksiyondur.
Örnek : $dizi=range(1,0) //1’den 10’a kadar tüm sayıları kapsayan bir sayı kümesi dizisi
$dizi=range(1,10,2) //1’den 10’a kadar tüm tek sayılardan oluşan bir sayı kümesi dizisi
$dizi=range(‘a’,’z’) // a’dan z’ye tüm harfleri kapsayan bir alfabetik küme dizisi
$dizi=range(10,1,-1); // 10’dan 1’e kadar tüm elemanları 1 eksilterek sıralar.


DİZİ İÇERİĞİNE ERİŞİM
Dizi içeriğine, elemanın index numarası ile erişebiliriz.
Örnek : $dizi[0] //Dizinin ilk elemanına erişebiliriz.
*C,C++,JavaScript ve C# dillerinde varsayılan indexleme olarak dzinin ilk elemanı 0’ıncı eleman olarak kabul edilmektedir.
DİZİ ELEMANLARINA ERİŞMEK İÇİN DÖNGÜLERDEN FAYDALANMAK
Örnek: $dizi=array(‘elma’,’armut’,’ayva’,’karpuz’);
For($i=0;$i<4;$i++)
{
Echo $dizi[i];

}
Ya da

Foreach($dizi as $eleman)
{
Echo “$eleman”;
}





FARKLI İNDEXLER KULLANAN DİZİLER

Eğer dizi elemanlarına bir index atanmadı ise varsayılan olarak dizi elemanlarının indexi sayısal kabul edilir ve index 0’dan başlar. PHP; her bir değerle istediğimiz anahtar veya indexi ilişkilendirebileceğimiz dizileri de destekler.

Örnek:
$plaka=array(‘istanbul’=>34,’ankara’=>06,’adana’=>01);
Echo $plaka[‘istanbul’] // İstanbul isimli anahtarın değerin yazdıracaktır.

DÖNGÜ KULLANMAK
Foreach($plaka as $il=>$plakano)
{
Echo “$il-$plakano</br>”;
}

EACH() Fonksiyonu

Dizi boyunca tekrarlanabilecek ve dizi elemanlarını anahtar-değer çiftleriyle bir scaler değişkene aktarabilecek bir komuttur.
While($elemen=each($plaka))
{
Echo “$eleman[‘key’];
Echo “$eleman[‘value’];

Veya
Echo “eleman[0]”;
Echo “eleman[1]”;
}


LİST() Fonksiyonu

LİST; Diziyi belirli sayıdaki değerlere bölmek için kullanılır.

Örnek :
List($il,$plakano)=each($plaka);

**** Each kullanırken dikkat edilecek önemli bir nokta dizi geçerli elemanı izleyerek ilerler. Eğer diziyi aynı program içerisinde iki kere kullanmak istiyorsak, Each imini dizinin ilk elemanına döndürmemiz gerekmektedir. Bunun için reset() fonksiyonunu kullanarak; Each imini dizinin ilk elemanına döndürürüz.








DİZİ OPERATÖRLERİ

+
Birleşim
$a+$b
$a ve $b dizilerinin birleşimidir. $b dizisi, $a dizisinin sonuna eklenir. Çakışan anahtarler eklenmek
==
Eşitlik
$a==$b
$a ve $b aynı elemanlara sahipse true değeri döndürülür.
===
Denklik
$a===$b
$a ve $b aynı elemanlara aynı sıralama ile sahipse true değeri döndürülür.
!=
Eşitsizlik
$a!=$b
$a ve $b aynı elemanları içermiyorsa true sonucunu döndürür.
<>
Eşitsizlik
$a<>$b
!= ile aynıdır.
!==
Denksizlik
$a!==$b
$a ve $b aynı elemanlara aynı sıra ile sahip değilse true döndürülür.
























ÇOK BOYUTLU DİZİLER

Dizilerin basit birer anahtar ve değer grubu olmaları gerekmez. Dizideki her konum başka bir diziyi barındırabilir. Böylelikle, iki boyutlu bir dizi oluşturabiliriz.İki boyutlu diziyi satır ve sutunları olan bir tablo gibi düşünebilirsiniz.

IL
PLAKA
KISALTMA
İstanbul
34
IST
Ankara
06
ANK
Adana
01
ADN





$iller=Array(array(‘istanbul’,’34’,’ist’),
Array(‘ankara’,’06’,’ANK’,
Array(‘Adana’,’01’,’ADN’));

$iller dizimiz artık üç eleman barındırıyor.

Tek boyutlu dizilerde, dizide belirli bir veriye erişmek için ilgili dizinin adına ve elemanın anahtar kelimesine ihtiyacımız oldğunu hatırlayın. İki boyutlu bir dizi de buna benzer, ancak her elemanın iki anahtarı vardır. Bir satır ve bir sutun.
Örnek: $iller[0][0] // İstanbul
$iller[1][0] // Ankara
$iller[2][0] // Adana
IL
PLAKA
KISALTMA
0,0
0,1
0,2
1,0
1,1
1,2
2,0
2,1
2,2





Eğer bu tür anahtar numaraları ile değil de sutun adları ile çalışmak istiyorsak :

$iller=array(array(‘il’=>’istanbul’,
plaka’=>’34’,
kisaltma’=>’ist’),
Array(‘il’=>’ankara’,
plaka’=>’06’,
kisaltma’=>’ANK’),
Array(‘il’=>’Adana’,
plaka’=>’01’,
kisaltma’=>’ADN’));

$iller[0][‘il’]; // İstanbul
$iller[1][‘il’]; // Ankara
$iller[2][‘il’]; // Adana


DİZİLERDE SIRALAMA

Sort() -> Dizi elemanlarını küçükten büyüğe sıralar.
  • Sort: Büyük-küçük harf duyarlıdır.
Büyük harfler küçük harflerden önce gelir.

Asort() -> Dizide değere göre sıralama yapar,küçükten büyüğe sıralar; anahtar dizilimine dokunmaz.
Ksort() -> Dizide anahtara göre sıralama yapar. Küçükten büyüğe
Rsort -> Dizi elemanları büyükten küçüğe doğru sıralanır.
REVERSE, yani tersine çevirmek kelimesinden anımsanabilir.





EXTRACT

Dizileri skaler yani tekil değişkenlere çevirmemize yaramaktadır.
Bu fonksiyonun işlevi, bir diziyi alıp dizideki anahtar kelimelerin adlarıyla yeni değişkenler oluşturmaktır.

Örnek:
$dizi=array
(‘anahtar1’=>’deger1’,
anahtar2’=>’deger2’,
anahtar3’=>’deger3’);

Extract($dizi);


ASP mi, PHP mi?

* 30.08.2009 tarihinde, İstanbul'daki bir bilgisayar dershanesinde verdiğim PHP Yazılım Eğitimi notlarını paylaşıyorum. Faydalı olması dileği ile.


Bu derste karşılaşacağımız kavramlar:

Sunucu(Server) : Web mimarisinde, talep edilen site dosyalarının yüklü olduğu ve sunum yapılan uzak bilgisayar
İstemci (Client) : İnternette site gezinimi yapan bilgisayardan her birine verilen ad.
ASP (Active Server Page – Aktif Sunucu Dosyaları) : Microsoft tarafından geliştirilen İstemci-Sunucu etkileşimli web dili.
PHP (Personal Home Page) : 1994 yılında Rasmus Lerdorf tarafından ilk olarak ortaya çıkarılan ve Zend firması tarafından da geliştirilmesi devam eden web dili.
Platform : Windows/Linux vs. gibi işletim sistemlerinin genel adı.
Veritabanı : Bilgilerin, bilgiler arası ilişkiler ile birlikte tutulabildiği veri alanları.









ASP mi PHP mi

PHP X ASP

Platform
Windows /Linux
Windows
Veritabanı
Tüm veritabanları
Mssql/Access
Ücret
Ücretsiz
Ücretli
Açık Kaynak Kod
Evet
Hayır














Microsoft Corp. 2001 yılında ASP ‘yi geliştirmeyi durdurduğunu açıklamış ve yoluna .NET ile devam edeceğini belirtmiştir!

Neden PHP ve MySQL?

Bir geliştirici, bir web sitesi uygulaması geliştirirken, aşağıdakileri de düşünmek zorunda kalacaktır:
  • Web sunucum için hangi donanımı kullanmalıyım?
  • Sunucumda hangi işletim sistemini kullanmalıyım?
  • Web sunucu yazılımım ne olmalı?
  • Veritabanı yönetim sistemi olarak ne kullanmalıyım?
  • Hangi programlama ya da script dili?

Bu seçimlerden biri diğerini ister istemez etkileyecek; çünkü her işletim sistemi her donanım ile çalışmayabilir, her script ya da programlama dili de her veritabanına bağlanamayabilir!
Bir web geliştiricisi performans ve maliyet denklemini iyi kurmalı ve uygulamasını bu iki sacayağı üzerine inşa etmelidir.

Peki, ama neden?

Çünkü gelecekteki müşterilerimiz, bizden yalnız uygulama hizmetini satın almakla kalmayacak; firmasının hizmet ve güven gibi iki önemli prensibinin elektronik ortamda temsilini bize emanet edecekler.

PHP’nin Güçlü Yanları Nelerdir?

PHP biz uygulama geliştiricilere, yüksek hizmet standartları yakalamak için aşağıdaki olanakları sunmaktadır:
  • Yüksek performans: Pahalı olmayan bir sunucu kullanarak günde MİLYONLARCA ziyaretçiye hizmet verebiliriz.
  • Birçok farklı veritabanı sistemine bağlanma: Microsoft ürünleri de dahil pek çok veritabanına bağlanabiliriz.
  • Sık rastlanan pek çok web işlemi için yerleşik kütüphane: PHP’nin sık kullanacağız web işlemleri için hazır kod kütüphanelerinden faydalanıp, zor gibi görünen pek çok işlemin, birkaç satır kod yazarak üstesinden gelebiliriz.
  • Düşük maliyet : PHP ücretsizdir
  • Öğrenim ve kullanım kolaylığı
  • Güçlü nesne yönelimli destek
  • Taşınabilirlik: PHP pek çok işlemin sistemi üzerinde çalışabilir ve ziyaretçilerimize hizmet verebiliriz. İyi yazılmış PHP kodları, hiçbir değişikliğe gerek kalmadan diğer sistemlerde çalışabilir.
  • Kaynak kodunun sunulması : Kaynak kodu açık olduğu için, üreticinin geliştirmesini ya da yama programlar yayınlamasını beklemek zorunda değiliz.
  • Destek hizmetinden faydalanabilmek.



BİR PHP DOSYASININ YAPISI

ÇIKTI KOMUTLARI ECHO-PRINT

PHP DEYİM VE İFADELER














15 Aralık 2011 Perşembe

JavaScript ve Jquery Eğitimi Ders 1 : JavaScript Nedir?

JavaScript, webde kullanılan bir betik dilidir.
Milyonlarca web sitesinde, işlevsellik eklemek, kullanıcı girdilerinin geçerliliği denetlemek, web gezintilerini etkileyici bir şölene dönüştürmek için kullanılmaktadır.
Diğer betik dilleri gibi, kendilerini derlenmiş programdan ayıran çalışma zamanında yorumlanmaları ve program çıktılarının üretilmesidir.
Öğrenmesi kolay, sözdimi anlaşılır ve barındırdığı işlevlerle web gezinti serüveninin tüm unsurlarını kapsamaktadır.
Internet Explorer, Mozilla Firefox, Google Chrome, Opera ve Safari gibi yaygın tüm tarayıcılarda çalışmaktadır.

HTML sayfalarına etkileşim eklemek için tasarlanmıştır.

Herkes tarafından öğrenilebilen ve hiçbir lisans maliyetine gerek olmaksızın kullanılabilen bu dil ile, basit bir metin editöründe kodlama yapabilirsiniz.



JavaScript Neler Yapabilir?


JavaScript web gezintisinin tüm olaylarına duyarlıdır. Fare tıklanması, bir tuşa basılması, sayfanın kaydırılması ya da taşınması; açılması ve kapanması gibi olayların tümünü JavaScript ile kontrol edebilirsiniz.
Sayfalarınızı zenginleştirmek için HTML elemanlarını manipüle edebilir; yeni HTML elemanlarını çalışma zamanında sayfanıza ekleyebilirsiniz.

Kullanıcı girdilerinin geçerliliği denetleyebilir ve beklenmedik girdilere karşı anında reaksiyon üretebilirsiniz.

Ziyaretçi bilgisayarındaki gezinme geçmişini kullanabilir; sayfanıza ait verileri istemci makinede saklayabilir ve sonradan kullanabilirsiniz.

JavaScript Ne değildir?

JavaScript'in programcılar arasında Java olarak anılması, aslında ciddi bir yanlışlıktır. Çünkü Java diye ifade edilen aslında başka bir programlama dilidir. JavaScript, 1997'den sonra tüm tarayıcılarda geçerli bir standart haline getirilmiş bir betik dili iken; Java, Sun firması tarafından (bugün Oracle) üretilmiş, platform bağımsızlığı iddiasında olan bir programlama dilidir.

W3C 'nin sitesinde de ifade edildiği üzere, JavaScript = ECMAScript'tir. ECMAScript nam-ı diğer, ECMA 262 resmi bir JavaScript standardıdır.
JavaScript, Nestcape firmasından Brendan Eich tarafından Navigator 2.0 ile birlikte piyasa sürülmek üzere geliştirilmiş ve  1996'dan beri neredeyse tüm tarayıcıların desteklediği bir standart olmuştur.