SlideShare a Scribd company logo
12.10.2015
1
İnternetTabanlı
Programlama
PHPTemelleri
Yrd.Doç.Dr.Celal Murat KANDEMİR
ESOGÜ – Eğitim Fakültesi - BÖTE
twitter.com/cmkandemir
GerekliYazılımlar
ApacheWeb Sunucusu (http://www.apache.org)
MySQL (Veritabanı) (http:// www.mysql.com)
PhpmyAdmin (http://www.phpmyadmin.net/)
Açık kaynak kod
Windows ve Linux
Kurulumun bilgileri ilgili sitelerde mevcuttur.
Toplu olarak kurulan paketler de mevcuttur
• Xamp:
http://ogrenmeyonetimsistemleri.blogspot.com.tr/2014/03/xampp-
gelistirme-ortamnn-kurulumu.html
• WampServer
12.10.2015
2
GerekliYazılımlar
Programlama IDE / Metin Editörü
NotePad++
http://notepad-plus-plus.org/download/v6.6.9.html
Visual Studio Code
https://code.visualstudio.com/
Sublimetext
http://www.sublimetext.com/2
Aptana Studio 3
http://www.aptana.com/products/studio3/download
PHPTemelleri
Yrd.Doç.Dr.Celal Murat KANDEMİR
ESOGÜ – Eğitim Fakültesi - BÖTE
twitter.com/cmkandemir
12.10.2015
3
İçerik
1. PHP, ve Web Sunucu nedir?
2. Web uygulamaları
3. Söz dizimi (Syntax)
4. Değişkenler, değişken tipleri
5. Temel fonksiyonlar
6. Bazı ön tanımlı değişkenler
7. Strings escaping
8. PHP – avantajlar ve dezavantajlar
PHP, ve Web Sunucu
Nedir?
12.10.2015
4
PHP Nedir?
"PHP Hypertext Preprocessor"
Betik (Scripting) dili
Dinamik içerik üretimi – örneğin HTML ve JSON
Veri tabanı etkileşimi (CRUDs)
Sunucu tarafında veya komut satırından çalıştırma
HTML içine gömülebilir.
İlk kez 1995’te Apache için modül amaçlı tanıtıldı
Açık kaynak, C dilinde yazıldı
Perl ve C benzeri
HTML Nasıl Çalışır
1. URL girilir
2. IP bulunur
3. Ana sayfa isteği
4. İstek alınır
5. Sayfa getirilir
6. Sayfa gönderilir
7. Sayfa görüntülenir
8
12.10.2015
5
PHP Nasıl Çalışır
1. URL girilir
2. IP bulunur
3. Ana sayfa isteği
4. İstek alınır
5. Sayfa getirilir
6. PHP içeriyor mu?
7. PHP işlenir
8. SQL işlenir (varsa)
9. Veri alınır
10. Sayfa gönderilir
11. Sayfa görüntülenir
9
Web sunucu nedir?
HTTP istekleri ve geri döndürülecek cevapların
işlenmesinden sorumlu bilgisayar programıdır.
HTTP istekleri (request) alır
İstenen kaynakları bulur veya bir program çalıştırır
Bulunan kaynakları çıktı olarak tarayıcıya gönderir
En bilinen web sunucular Apache, IIS, NodeJS, nginx,
ligHttpd ve diğerleri
"LAMP" – Linux, Apache, MySQL, PHP/Perl – bir web
sunucu üzerinde en çok kullanılan yazılımlardır
12.10.2015
6
Web uygulamaları
Web uygulamaları
Web üzerinden erişilebilen uygulamalara
verilen isimdir
Web sunucular üzerinde çalışır
Genellikle PHP, Perl, Java, ASP gibi sunucu
tarafında çalışan diller ile geliştirilirler
Dinamik olarak üretilmiş içeriklere sahiptirler
Çoğunlukla üç katmanlı mimaridedirler (three-
tier) - web server, uygulama ve veritabanı
Sadece web sayfalarından oluşmazlar
12.10.2015
7
Web uygulamaları- Örnekler
Gmail
SkyDrive / Live.com
Google Office / Windows Office
Prezi
Creately
Slideshare
Web tarayıcıları üzerinden erişilerek kullanılan
neredeyse herşey ☺
13
Merhaba PHP
PHP kodları genellikle ".php" uzantısına sahip
dosyalarda bulunurlar.
Yapılandırılabilirler
PHP kodları HTML belge içine
yerleştirilebilirler
<html>
<head><title>Merhaba dünya sayfası</title></head>
<body>
Merhaba HTML!
</body>
</html>
12.10.2015
8
<html>
<head><title>Merhaba dünya sayfası</title></head>
<body>
<?php print ("Merhaba PHP!"); ?>
</body>
</html>
Merhaba PHP
PHP kodları genellikle ".php" uzantısına sahip
dosyalarda bulunurlar.
Yapılandırılabilirler
PHP kodları HTML belge içine
yerleştirilebilirler
<html>
<head><title>Merhaba dünya sayfası</title></head>
<body>
<?php print ("Merhaba PHP!"); ?>
</body>
</html>
Merhaba PHP
PHP kodları genellikle ".php" uzantısına sahip
dosyalarda bulunurlar.
Yapılandırılabilirler
PHP kodları HTML belge içine
yerleştirilebilirler
<?php PHP kod
başlangıcı ?> PHP kod sonu
12.10.2015
9
Merhaba PHP – Dosyayı nereye
koyacağız?
webroot klasörü
XAMMP – htdocs/
WAMP – www/
Webroot klasörü yapılandırılabilir
http://localhost/tam/klasör/yolu/dosyaAdi.php
Adresi üzerinden erişilebilir
17
Söz Dizimi - Syntax
12.10.2015
10
PHP Söz Dizimi
PHP kodları <?php ile başlar ve ?> ile biter
Sunucu yapılandırmasına bağlı olarak <? İle de
başlayabilir (Kısa stil) – ama bu kötü bir uygulamadır!
XML açısından <?php - ?> bölümü " işlem yönergesi"
(processing instruction) olarak adlandırılır
PHP, Perl söz dizimini takip eder
Basitleştirilmiş
Yapısal (Artık aynı zamanda OOP)
C ve Java benzeri
PHP Söz Dizimi
PHP Betik bir veya daha fazla ifadeden oluşur
İfadeler PHP Preprocessor tarafından tek tek
ele alınır
Herbir ifade noktalı virgül ";" ile sonlanır
İlk betiğimiz tek ifadeden oluşmaktadır:
print fonksiyonunun çağrılması
<?php
print («Merhaba PHP!"); // bu bir ifade
?>
12.10.2015
11
PHP Söz Dizimi
PHP betik sınırsız sayıda ifadeden oluşabilir
Bazı fonksiyonlar parantez kullanılmadan çağrılabilir
Koda yorum satırları eklenebilir
Tek satır yorum "//", "#" veya yorum bloğu için "/*" ve
"*/" arasında
Sadece "/*" – "*/" çok satırlı yorumlar için kullanılabilir
Yorumlar çalıştırılmazlar ve tarayıcıya gönderilmezler
<?php
print "<div>";
print "Merhaba PHP!";
print "</div>";
?>
PHP Söz Dizimi
Kısa açılış etiketi <?=
İfadenin tarayıcıda yazdırılmasına zorlar
print ile aynıdır
";" noktalı virgül ihmal edilebilir
<html>
<head><title>Merhaba dünya sayfası</title></head>
<body>
<?="Merhaba PHP!" ?>
</body>
</html>
12.10.2015
12
Değişkenler
Değişken rakamla başlayamaz.
Değikenler içinde özel karakterler kullanılamaz.
Sadece harfler, sayılar ve _ işareti kullanılabilir.
Geçersiz değişken tanımları;
$3not, $2x, $a(, $toplam?,
Geçerli değişken tanımları;
$not, $not1, $toplam, $notlar_toplami
Değişkenler içindeTürkçe karakterler kullanılmaz:
Örneğin; ıİ,Şş,Çç,Ğğ,Öö,Üü
PHP Değişkenler
12.10.2015
13
PHP Değişkenler
PHP’deki tüm değişkenler (sabit değişkenler hariç)
dolar $ işareti ile başlar(Perl stili)
PHP "type-less" bir dildir
Değişkenler bir tür ile bağlantılı değildir. farklı türde
değişken değerleri saklanabilir
int a = 5; şeklinde tanımlanmaz, $a = 5; yazmak
yeterlidir
Herbir değişken değerin atandığı ilk yerde
tanımlanmış olur
Tür belirtme hatalarının önüne geçilir!
Değerin türü değişken türünü belirler
<?php // $output string değişkeni tanımla
$output = "<div>Merhaba PHP!</div>";
print $output;
?>
PHP DeğişkenTürleri
Sayısal (real veya integer)
Ondalık ayraç noktadır ".", virgül ", " değil
Boolean (true veya false)
PHP değişkenleri true,TRUE,True veya false,
FALSE, False olarak tanımlanır
Empty string, sıfır ve bazı diğer değerler
dolaylı olarak boolean ifadeler içinde "false"
değerine çevrilirler
boolean uygun kullanılmadığında probleme
sebep olabilir
12.10.2015
14
PHP Strings
String değerler
String değerler tek veya çift tırnak içinde
yazılabilir
Başlangıç ve bitiş tırmakları aynı olmalı
<?
$output1 = "Merhaba PHP!";
$output2 = 'Tekrar merhaba!';
?>
PHP Diziler
Array’ler kümelenmiş değerlerdir – her bir
değer array içinde bir anahtara (key, index)
atanmıştır.
PHP ilişkisel dizileri destekler – key/index
nümerik, string veya diğer sayısal türlerde
olabilir
Key/index dizi boyunca tekil olmalıdır
Dizideki değerler farklı türlerde olabilir
PHP diziler dinamiktir – yaratılırken belli bir
büyüklükte tanımlanmaları gerekmez
12.10.2015
15
PHP Arrays
PHP diziler array anahtar kelimesi ile tanımlanır
"=>" anlamı "işaret etmek" tir
Eğer anahtarlar belirtilmediyse otomatik olarak sıfırdan
başlayan değerler verilir
<?
// basit dizi
$arr = array ("a", "b", 7);
// bu ifade $arr[0], $arr[1] ve $arr[2]
// sırasıyla "a", "b" ve 7 değerlerini içeren
// diziyi üretir
$arr2 = array ("one" => 1, "two" => 2);
// bu ifade $arr2["one"] ve $arr2["two"]
// sırasıyla 1 ve 2 değerlerini içeren
// diziyi üretir
?>
PHP Diziler
Dizi değerlerine "[" ve "]" arasındaki
anahtar(key)/index değeri ile erişilir
Diziler esnektirler ve değer türleri ve anahtar
karışık olabilir
<?
$arr = array ("a", "b", 7, "bir" => 1, "iki" =>
2, "diger" => array(1,2,3));
// anahtar/index türleri karışık:
// $arr[0] => "a" ve $arr["bir"] => 1
// $arr["diger"] yine bir dizidir
// $arr["diger"][0]" => 1
print $arr["diger"][2]; // tarayıcı çıktısı 3
?>
12.10.2015
16
PHP NULL Değer
PHP’de null olarak isimlendirilen özel bir değer
vardır ve değişkenin bir değer almadığını
gösterir
Herhangi bir türde verinin olmadığını
göstermek için kullanılır
Tanımsız "undefined" değişkenden farklıdır!
Boş string veya sıfır değerinden farklıdır
<?
$null_variable = null;
?>
PHP DeğişkenTürleri
PHP "object" değişken türünü destekler
"Resource" (kaynak ) değişken türü
Resouce türü, değişken değerinin bir kaynak
veya veriye referans değeri tutar.
Örnek – açık bir dosya, veri tabanı bağlantısı, v.b
12.10.2015
17
PHPTemel İfadeler
PHP ifadeleri C dilindekine benzer
"=" – değişkenlere değer atamak için kullanılır
+, -, /, *, % - aritmetik işlemler
==, <=, >=, !=, <, > - karşılaştırma
+=, -=, /=, *=, %=, ++, --,– önek/sonek
operatörler
( and ) – ifade birleştirme için
&, |, >>, <<, ^, ~ - bit bazlı operatörler
PHP Basic Expressions 2
String operatörleri
"." (period) – string birleştirme
===, !== karşılaştırma
==, != operatörlerinden farklıdır.
"10"==10 işleminde sonuç true iken "10"===10
karşılaştırmasında sonuç false
Tam karşılaştırma – $a === $b :
TRUE $a değişken değeri $b değişken değerine eşitse,
ve aynı değişken türündeyseler.
$a = $b = $c = 7;
12.10.2015
18
PHP Sabitler
PHP’de sabit değişkenler define fonksiyonu
ile tanımlanırlar
Değeri değiştirilemez
$ sembolü ile başlamaz
Herhangi bir değeri tutabilir
<?
define ('DEGISKEN_ADI', 123);
// DEGISKEN_ADI, 123 değerini alır
print DEGISKEN_ADI; // 123 tarayıcı çıktısı verir
?>
Temel Fonksiyonlar
12.10.2015
19
BazıTemel Fonksiyonlar
print fonksiyonunu gördük
echo fonksiyonu da print ile aynıdır. print
fonksiyonu bir değer geri döndürür.
print_r(array) – key/index değerleri ile
birlikte dizi değerleri tarayıcıya yazar.
phpinfo() – sunucu, PHP ayarları, kurulu
modüller v.b bir sayfa oluşturur
<?
echo "123"; // tarayıcıda 123 çıktısı verir
?>
ÖnTanımlı Değişkenler
12.10.2015
20
ÖnTanımlı Değişkenler
PHP ön tanımlı birçok değişken ve sabit sağlar
__FILE__, __LINE__, __FUNCTION__,
__METHOD__, __CLASS__ - hata ayıklama
bilgisi içerirler.
PHP_VERSION, PHP_OS, PHP_EOL,
DIRECTORY_SEPARATOR, PHP_INT_SIZE
ve diğerleri farklı platform desteği sağlayan
uygulamaların kolaylıkla geliştirilmesine
yardımcı olurlar.
ÖnTanımlı Değişkenler
$_SERVER – dizi değişkendir, web sunucusuna ait
bilgileri tutar – headers, klasör yolları ve script yerleri
DOCUMENT_ROOT – web sunucu yapılandırmasında
sitenin kök klasörüdür
SERVER_ADDRESS, SERVER_NAME,
SERVER_SOFTWARE, SERVER_PROTOCOL
REMOTE_ADDR, REMOTE_HOST, REMOTE_PORT
PHP_AUTH_USER, PHP_AUTH_PW,
PHP_AUTH_DIGEST
Ve diğerleri
12.10.2015
21
ÖnTanımlı Değişkenler
$_GET, $_POST, $_COOKIE dizileri
URL’den gelen gönderim gönderi ve cookie
bilgilerini tutar
$_FILES çok parçalı gönderim istekleri
üzerinden başarılı yüklenen dosya bilgilerini
tutan dizidir.array holds information for
successfully
$_SESSION bir oturumda saklanan değişken
değerlerini tutan dizidir.
Değişken değişkenleri
PHP $$ sözdizimini destekler- değişken
değerinden değişken tanımlanır
<?
$str1 = 'test';
$test = 'abc';
echo $$str1; // abc tarayıcı çıktısı üretir
?>
12.10.2015
22
Strings Escaping
Strings escaping
String’lerdeki özel karakterlerden ters bölü işareti ile
kaçılır (C stili)
Özel karakterler:
n – yeni satır (new line) (10 in ASCII)
r – carriage return (13 in ASCII)
t – yatay tab
v – düşey tab
 - ters bölü
$ - dollar işareti
" – çift tırnak
$str1 = "bu bir"PHP"";
12.10.2015
23
String escaping
Tek tırnak string’lerde de kullanım aynı
şekildedir
Fark " yerine ' kullanılmasıdır
Tek veya çift tırnak kullanılan stringlerde ters
bölü diğer tüm karakterlerin önünde tarayıcıda
görüntülenecektir!
$str1 = 'Arnold dedi ki: "I'll be back"';
String’ler içindeki değişkenler
Çift tırnak içindeki string’ler biraz daha fazla
özellik sağlarlar:
Çift tırnak içinde kullanılan değişkenlerin
taşıdıkları değerler kullanılır.
Diziler hakkında not:
$saying = "I'll be back!";
$str1 = "Arnold dedi ki: $saying";
// çıktısı:
// Arnold dedi ki: I'll be back!
$sayings = array ('arni' => "I'll be back!");
$str1 = "Arnold dedi ki: ${sayings['arni']}";
12.10.2015
24
Heredoc (Yorumlu Metin) sözdizimi
String’ler (dizgeler) heredoc sözdizimi ile başlar ('<<<')
Bir yorumlu metin daima <<< karakterleri ile
başlar ve hemen ardından bir betimleyici ve bir
satırsonu karakteri gelir.
Uzun HTML kodlarını echo veya print ile
yazmaya göre daha kullanışlıdır.
$str = <<<EOT
Burası string içerik
EOT;
Heredoc (Yorumlu Metin) sözdizimi
Asıl string (dizge) satırsonu karakterinden sonra
yer alır.
Dizgenin sonunu belirtmek üzere dizgenin
sonuna, baştaki betimleyici konur.
Kapanış betimleyicisinin dizgeden sonraki
satırın başında olması gerekir.
Betimleyici PHP'deki diğer isimlere uygulanan
kurallara uygun olmalıdır: Sadece bir harfle
veya alt çizgi imi ile başlayabilir; sadece
harfler, rakamlar veya alt çizgi imleri içerebilir.
12.10.2015
25
Avantaj ve
Dezavantajlar
Avantajlar ve Dezavantajlar
Avantajlar
Öğrenmesi kolaydır, açık kaynak, çoklu
platform ve veri tabanı desteği, eklentiler,
topluluk ve ticari destekli.
En hızlı dillerden biri varsayılmaktadır
Dezavantajlar
Gevşek bir söz dizimi– risk hoşgörülü, zayıf hata
yakalama, zayıf OOP (sürüm 6 öncesi oldukça
fazla eksik bulunuyor!)
12.10.2015
26
PHPTemelleri
Sorular?

More Related Content

What's hot

380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
hidaeli2001
 
เรื่ององค์ประกอบระบบคอมพิวเตอร์
เรื่ององค์ประกอบระบบคอมพิวเตอร์เรื่ององค์ประกอบระบบคอมพิวเตอร์
เรื่ององค์ประกอบระบบคอมพิวเตอร์
เผ่า พันธโคตร
 
Scalone dokumenty (10)
Scalone dokumenty (10)Scalone dokumenty (10)
Scalone dokumenty (10)
Darek Simka
 
ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์
bimteach
 
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555techno UCH
 
Powerpointองค์ประกอบของระบบคอมพิวเตอร์
Powerpointองค์ประกอบของระบบคอมพิวเตอร์Powerpointองค์ประกอบของระบบคอมพิวเตอร์
Powerpointองค์ประกอบของระบบคอมพิวเตอร์
Nitiwat First
 
Blok II Lekcja 1: Narzędzia i maszyny uprawowe
Blok II Lekcja 1: Narzędzia i maszyny uprawowe Blok II Lekcja 1: Narzędzia i maszyny uprawowe
Blok II Lekcja 1: Narzędzia i maszyny uprawowe
Edukacja online
 
Bielizna stolowa
Bielizna stolowaBielizna stolowa
Bielizna stolowa
krzysztofbondaruk
 
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
Dr.Kridsanapong Lertbumroongchai
 
องค์ประกอบของคอมพิวเตอร์
องค์ประกอบของคอมพิวเตอร์องค์ประกอบของคอมพิวเตอร์
องค์ประกอบของคอมพิวเตอร์Krusine soyo
 
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
Khunakon Thanatee
 
Blok II lekcja_7 Maszyny do zbioru ziemniaków i buraków
Blok II lekcja_7  Maszyny do zbioru ziemniaków i burakówBlok II lekcja_7  Maszyny do zbioru ziemniaków i buraków
Blok II lekcja_7 Maszyny do zbioru ziemniaków i buraków
Edukacja online
 
24 6.1 opg_tresc
24 6.1 opg_tresc24 6.1 opg_tresc
Operating System Chapter 3
Operating System Chapter 3Operating System Chapter 3
Operating System Chapter 3
Nuth Otanasap
 
เฉลยข้อสอบ20ข้อ
เฉลยข้อสอบ20ข้อเฉลยข้อสอบ20ข้อ
เฉลยข้อสอบ20ข้อpeter dontoom
 
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วง
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วงคุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วง
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วงNattapon
 
ปรับปรุงโครงหลังคา 100,000
ปรับปรุงโครงหลังคา 100,000ปรับปรุงโครงหลังคา 100,000
ปรับปรุงโครงหลังคา 100,000
สงคราม รื่นรมย์
 

What's hot (20)

380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
380768495-admin-linux-Sauvegarde-et-restauration-cours-4-1-ppt.ppt
 
เรื่ององค์ประกอบระบบคอมพิวเตอร์
เรื่ององค์ประกอบระบบคอมพิวเตอร์เรื่ององค์ประกอบระบบคอมพิวเตอร์
เรื่ององค์ประกอบระบบคอมพิวเตอร์
 
Scalone dokumenty (10)
Scalone dokumenty (10)Scalone dokumenty (10)
Scalone dokumenty (10)
 
ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์ใบงานส่วนประกอบคอมพิวเตอร์
ใบงานส่วนประกอบคอมพิวเตอร์
 
lek1
lek1lek1
lek1
 
Scratch
ScratchScratch
Scratch
 
Linux diskless
Linux disklessLinux diskless
Linux diskless
 
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555
สรุปผลการตรวจสอบความสมบูรณืของเวชระเบียนผู้ป่วยนอกปีงบประมาณ 2555
 
Powerpointองค์ประกอบของระบบคอมพิวเตอร์
Powerpointองค์ประกอบของระบบคอมพิวเตอร์Powerpointองค์ประกอบของระบบคอมพิวเตอร์
Powerpointองค์ประกอบของระบบคอมพิวเตอร์
 
Blok II Lekcja 1: Narzędzia i maszyny uprawowe
Blok II Lekcja 1: Narzędzia i maszyny uprawowe Blok II Lekcja 1: Narzędzia i maszyny uprawowe
Blok II Lekcja 1: Narzędzia i maszyny uprawowe
 
Bielizna stolowa
Bielizna stolowaBielizna stolowa
Bielizna stolowa
 
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
การสร้างเว็บไซต์ด้วยเวิร์ดเพรส (Website Creation with WordPress)
 
องค์ประกอบของคอมพิวเตอร์
องค์ประกอบของคอมพิวเตอร์องค์ประกอบของคอมพิวเตอร์
องค์ประกอบของคอมพิวเตอร์
 
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
สื่อการสอนเรื่อง ซอฟต์แวร์ประยุกต์
 
Blok II lekcja_7 Maszyny do zbioru ziemniaków i buraków
Blok II lekcja_7  Maszyny do zbioru ziemniaków i burakówBlok II lekcja_7  Maszyny do zbioru ziemniaków i buraków
Blok II lekcja_7 Maszyny do zbioru ziemniaków i buraków
 
24 6.1 opg_tresc
24 6.1 opg_tresc24 6.1 opg_tresc
24 6.1 opg_tresc
 
Operating System Chapter 3
Operating System Chapter 3Operating System Chapter 3
Operating System Chapter 3
 
เฉลยข้อสอบ20ข้อ
เฉลยข้อสอบ20ข้อเฉลยข้อสอบ20ข้อ
เฉลยข้อสอบ20ข้อ
 
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วง
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วงคุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วง
คุณลักษณะของคอมพิวเตอร์และอุปกรณ์ต่อพ่วง
 
ปรับปรุงโครงหลังคา 100,000
ปรับปรุงโครงหลังคา 100,000ปรับปรุงโครงหลังคา 100,000
ปรับปรุงโครงหลังคา 100,000
 

Viewers also liked

İnternet Tabanlı Programlama Uygulama Notları
İnternet Tabanlı Programlama Uygulama Notlarıİnternet Tabanlı Programlama Uygulama Notları
İnternet Tabanlı Programlama Uygulama Notları
cmkandemir
 
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
cmkandemir
 
Threads and Game Programming In Java
Threads and Game Programming In JavaThreads and Game Programming In Java
Threads and Game Programming In Java
cmkandemir
 
CSS Uygulamaları 1
CSS Uygulamaları 1CSS Uygulamaları 1
CSS Uygulamaları 1
cmkandemir
 
Web Sitesi Geliştirme Adımları
Web Sitesi Geliştirme AdımlarıWeb Sitesi Geliştirme Adımları
Web Sitesi Geliştirme Adımları
cmkandemir
 
JDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and ConfigurationJDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and Configuration
cmkandemir
 
Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructions
cmkandemir
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructions
cmkandemir
 
impress.js Framework
impress.js Frameworkimpress.js Framework
impress.js Framework
cmkandemir
 
openCV and Java - Face Detection
openCV and Java - Face DetectionopenCV and Java - Face Detection
openCV and Java - Face Detection
cmkandemir
 
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
cmkandemir
 
Kod Akış Kontrolü - Döngüler, Fonksiyonlar
Kod Akış Kontrolü - Döngüler, FonksiyonlarKod Akış Kontrolü - Döngüler, Fonksiyonlar
Kod Akış Kontrolü - Döngüler, Fonksiyonlar
cmkandemir
 
PHP ve MySQL Bağlantısı - Temel İşlemler
PHP ve MySQL Bağlantısı - Temel İşlemlerPHP ve MySQL Bağlantısı - Temel İşlemler
PHP ve MySQL Bağlantısı - Temel İşlemler
cmkandemir
 
Matching Game In Java
Matching Game In JavaMatching Game In Java
Matching Game In Java
cmkandemir
 
CSS - Sunum Bileşenleri
CSS - Sunum BileşenleriCSS - Sunum Bileşenleri
CSS - Sunum Bileşenleri
cmkandemir
 

Viewers also liked (15)

İnternet Tabanlı Programlama Uygulama Notları
İnternet Tabanlı Programlama Uygulama Notlarıİnternet Tabanlı Programlama Uygulama Notları
İnternet Tabanlı Programlama Uygulama Notları
 
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 1
 
Threads and Game Programming In Java
Threads and Game Programming In JavaThreads and Game Programming In Java
Threads and Game Programming In Java
 
CSS Uygulamaları 1
CSS Uygulamaları 1CSS Uygulamaları 1
CSS Uygulamaları 1
 
Web Sitesi Geliştirme Adımları
Web Sitesi Geliştirme AdımlarıWeb Sitesi Geliştirme Adımları
Web Sitesi Geliştirme Adımları
 
JDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and ConfigurationJDK and Eclipse Installation and Configuration
JDK and Eclipse Installation and Configuration
 
Chapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 InstructionsChapter 6 - Introduction to 8085 Instructions
Chapter 6 - Introduction to 8085 Instructions
 
Chapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional InstructionsChapter 7 - Programming Techniques with Additional Instructions
Chapter 7 - Programming Techniques with Additional Instructions
 
impress.js Framework
impress.js Frameworkimpress.js Framework
impress.js Framework
 
openCV and Java - Face Detection
openCV and Java - Face DetectionopenCV and Java - Face Detection
openCV and Java - Face Detection
 
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
Canvas Öğrenme Yönetim Sistemi Kullanım Kılavuzu Bölüm 2
 
Kod Akış Kontrolü - Döngüler, Fonksiyonlar
Kod Akış Kontrolü - Döngüler, FonksiyonlarKod Akış Kontrolü - Döngüler, Fonksiyonlar
Kod Akış Kontrolü - Döngüler, Fonksiyonlar
 
PHP ve MySQL Bağlantısı - Temel İşlemler
PHP ve MySQL Bağlantısı - Temel İşlemlerPHP ve MySQL Bağlantısı - Temel İşlemler
PHP ve MySQL Bağlantısı - Temel İşlemler
 
Matching Game In Java
Matching Game In JavaMatching Game In Java
Matching Game In Java
 
CSS - Sunum Bileşenleri
CSS - Sunum BileşenleriCSS - Sunum Bileşenleri
CSS - Sunum Bileşenleri
 

Similar to PHP Temelleri

Php
PhpPhp
php nin yapı taşları
php nin yapı taşlarıphp nin yapı taşları
php nin yapı taşları
forummsn
 
Php MySQL
Php MySQLPhp MySQL
PHP'ye Giriş
PHP'ye GirişPHP'ye Giriş
PHP'ye Giriş
efedincer
 
PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)
Fatih Çal
 
PHP'ye Giriş
PHP'ye GirişPHP'ye Giriş
PHP'ye Giriş
forummsn
 
Php dokumani
Php dokumaniPhp dokumani
Php dokumanisersld89
 
Php ornegi
Php ornegiPhp ornegi
Php ornegisersld89
 
Php ornekleri
Php ornekleriPhp ornekleri
Php orneklerisersld89
 
Php danismani
Php danismaniPhp danismani
Php danismanisersld89
 
Php cevaplari
Php cevaplariPhp cevaplari
Php cevaplarisersld89
 
Php mysql sunum
Php mysql sunumPhp mysql sunum
Php mysql sunum
Oyunzet Oyunlar
 
Php egitmeni
Php egitmeniPhp egitmeni
Php egitmenisersld89
 
Php okullari
Php okullariPhp okullari
Php okullarisersld89
 
Php kursu-catalca
Php kursu-catalcaPhp kursu-catalca
Php kursu-catalcasersld88
 
Php ogretmeni
Php ogretmeniPhp ogretmeni
Php ogretmenisersld89
 

Similar to PHP Temelleri (20)

Php
PhpPhp
Php
 
php nin yapı taşları
php nin yapı taşlarıphp nin yapı taşları
php nin yapı taşları
 
Php ekşin - Temel php i̇şlemleri
Php ekşin - Temel php i̇şlemleriPhp ekşin - Temel php i̇şlemleri
Php ekşin - Temel php i̇şlemleri
 
Php1
Php1Php1
Php1
 
Php MySQL
Php MySQLPhp MySQL
Php MySQL
 
PHP'ye Giriş
PHP'ye GirişPHP'ye Giriş
PHP'ye Giriş
 
PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)
 
PHP'ye Giriş
PHP'ye GirişPHP'ye Giriş
PHP'ye Giriş
 
Php dokumani
Php dokumaniPhp dokumani
Php dokumani
 
Php ornek
Php ornekPhp ornek
Php ornek
 
Php ornegi
Php ornegiPhp ornegi
Php ornegi
 
Fonksiyonlar
FonksiyonlarFonksiyonlar
Fonksiyonlar
 
Php ornekleri
Php ornekleriPhp ornekleri
Php ornekleri
 
Php danismani
Php danismaniPhp danismani
Php danismani
 
Php cevaplari
Php cevaplariPhp cevaplari
Php cevaplari
 
Php mysql sunum
Php mysql sunumPhp mysql sunum
Php mysql sunum
 
Php egitmeni
Php egitmeniPhp egitmeni
Php egitmeni
 
Php okullari
Php okullariPhp okullari
Php okullari
 
Php kursu-catalca
Php kursu-catalcaPhp kursu-catalca
Php kursu-catalca
 
Php ogretmeni
Php ogretmeniPhp ogretmeni
Php ogretmeni
 

More from cmkandemir

Temel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım ÖrnekleriTemel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım Örnekleri
cmkandemir
 
Yapay Zeka Nedir?
Yapay Zeka Nedir?Yapay Zeka Nedir?
Yapay Zeka Nedir?
cmkandemir
 
Zekayı Anlamak
Zekayı AnlamakZekayı Anlamak
Zekayı Anlamak
cmkandemir
 
PHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesiPHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesi
cmkandemir
 
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer SystemsChapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
cmkandemir
 
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly LanguageChapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
cmkandemir
 
CSS - Genel Bakış
CSS - Genel BakışCSS - Genel Bakış
CSS - Genel Bakış
cmkandemir
 
Temel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, FormTemel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, Form
cmkandemir
 
Temel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, ImageTemel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, Image
cmkandemir
 
Vaadin JPAContainer
Vaadin JPAContainerVaadin JPAContainer
Vaadin JPAContainer
cmkandemir
 

More from cmkandemir (10)

Temel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım ÖrnekleriTemel HTML Etiketleri ve Kullanım Örnekleri
Temel HTML Etiketleri ve Kullanım Örnekleri
 
Yapay Zeka Nedir?
Yapay Zeka Nedir?Yapay Zeka Nedir?
Yapay Zeka Nedir?
 
Zekayı Anlamak
Zekayı AnlamakZekayı Anlamak
Zekayı Anlamak
 
PHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesiPHP - Kullanıcı Girişlerinin İşlenmesi
PHP - Kullanıcı Girişlerinin İşlenmesi
 
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer SystemsChapter 2-8085 Microprocessor Architecture and Microcomputer Systems
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systems
 
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly LanguageChapter 1-Microprocessors, Microcomputers, and Assembly Language
Chapter 1-Microprocessors, Microcomputers, and Assembly Language
 
CSS - Genel Bakış
CSS - Genel BakışCSS - Genel Bakış
CSS - Genel Bakış
 
Temel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, FormTemel HTML Etiketleri - Tablo, Form
Temel HTML Etiketleri - Tablo, Form
 
Temel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, ImageTemel HTML Etiketleri - Text, Image, Link, List, Image
Temel HTML Etiketleri - Text, Image, Link, List, Image
 
Vaadin JPAContainer
Vaadin JPAContainerVaadin JPAContainer
Vaadin JPAContainer
 

Recently uploaded

5) Türkiye'de Enerji kaynakları.ppt tyt
5) Türkiye'de Enerji kaynakları.ppt tyt5) Türkiye'de Enerji kaynakları.ppt tyt
5) Türkiye'de Enerji kaynakları.ppt tyt
tosaf96232
 
独家公布~法国-波兰【3 9 7 7 . T W 官方指定】
独家公布~法国-波兰【3 9 7 7 . T W  官方指定】独家公布~法国-波兰【3 9 7 7 . T W  官方指定】
独家公布~法国-波兰【3 9 7 7 . T W 官方指定】
faraonchoffg
 
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönmeAlışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
YaseminSengunDemirca
 
Temel Teknikler - Esat Başaran Akademi Refleksoloji
Temel Teknikler - Esat Başaran Akademi RefleksolojiTemel Teknikler - Esat Başaran Akademi Refleksoloji
Temel Teknikler - Esat Başaran Akademi Refleksoloji
SeyfettinColak
 
独家公布~比利时-罗马尼亚【3 9 7 7 . T W 官方指定】
独家公布~比利时-罗马尼亚【3 9 7 7 . T W  官方指定】独家公布~比利时-罗马尼亚【3 9 7 7 . T W  官方指定】
独家公布~比利时-罗马尼亚【3 9 7 7 . T W 官方指定】
faraonchoffg
 
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran AkademiAyaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
SeyfettinColak
 
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdfTam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
SeyfettinColak
 
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran AkademiSİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
SeyfettinColak
 

Recently uploaded (8)

5) Türkiye'de Enerji kaynakları.ppt tyt
5) Türkiye'de Enerji kaynakları.ppt tyt5) Türkiye'de Enerji kaynakları.ppt tyt
5) Türkiye'de Enerji kaynakları.ppt tyt
 
独家公布~法国-波兰【3 9 7 7 . T W 官方指定】
独家公布~法国-波兰【3 9 7 7 . T W  官方指定】独家公布~法国-波兰【3 9 7 7 . T W  官方指定】
独家公布~法国-波兰【3 9 7 7 . T W 官方指定】
 
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönmeAlışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
Alışkanlığın bağımlılığa dönüşmesi ve cesaretle eskiye dönme
 
Temel Teknikler - Esat Başaran Akademi Refleksoloji
Temel Teknikler - Esat Başaran Akademi RefleksolojiTemel Teknikler - Esat Başaran Akademi Refleksoloji
Temel Teknikler - Esat Başaran Akademi Refleksoloji
 
独家公布~比利时-罗马尼亚【3 9 7 7 . T W 官方指定】
独家公布~比利时-罗马尼亚【3 9 7 7 . T W  官方指定】独家公布~比利时-罗马尼亚【3 9 7 7 . T W  官方指定】
独家公布~比利时-罗马尼亚【3 9 7 7 . T W 官方指定】
 
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran AkademiAyaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
Ayaklar da Hastalıklara göre refleks noktaları - Esat Başaran Akademi
 
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdfTam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
Tam kan sayımı (Hemogram), Biyokimya tahlilleri.pdf
 
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran AkademiSİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
SİNİR SİSTEMİ ANATOMİSİ - Esat Başaran Akademi
 

PHP Temelleri

  • 1. 12.10.2015 1 İnternetTabanlı Programlama PHPTemelleri Yrd.Doç.Dr.Celal Murat KANDEMİR ESOGÜ – Eğitim Fakültesi - BÖTE twitter.com/cmkandemir GerekliYazılımlar ApacheWeb Sunucusu (http://www.apache.org) MySQL (Veritabanı) (http:// www.mysql.com) PhpmyAdmin (http://www.phpmyadmin.net/) Açık kaynak kod Windows ve Linux Kurulumun bilgileri ilgili sitelerde mevcuttur. Toplu olarak kurulan paketler de mevcuttur • Xamp: http://ogrenmeyonetimsistemleri.blogspot.com.tr/2014/03/xampp- gelistirme-ortamnn-kurulumu.html • WampServer
  • 2. 12.10.2015 2 GerekliYazılımlar Programlama IDE / Metin Editörü NotePad++ http://notepad-plus-plus.org/download/v6.6.9.html Visual Studio Code https://code.visualstudio.com/ Sublimetext http://www.sublimetext.com/2 Aptana Studio 3 http://www.aptana.com/products/studio3/download PHPTemelleri Yrd.Doç.Dr.Celal Murat KANDEMİR ESOGÜ – Eğitim Fakültesi - BÖTE twitter.com/cmkandemir
  • 3. 12.10.2015 3 İçerik 1. PHP, ve Web Sunucu nedir? 2. Web uygulamaları 3. Söz dizimi (Syntax) 4. Değişkenler, değişken tipleri 5. Temel fonksiyonlar 6. Bazı ön tanımlı değişkenler 7. Strings escaping 8. PHP – avantajlar ve dezavantajlar PHP, ve Web Sunucu Nedir?
  • 4. 12.10.2015 4 PHP Nedir? "PHP Hypertext Preprocessor" Betik (Scripting) dili Dinamik içerik üretimi – örneğin HTML ve JSON Veri tabanı etkileşimi (CRUDs) Sunucu tarafında veya komut satırından çalıştırma HTML içine gömülebilir. İlk kez 1995’te Apache için modül amaçlı tanıtıldı Açık kaynak, C dilinde yazıldı Perl ve C benzeri HTML Nasıl Çalışır 1. URL girilir 2. IP bulunur 3. Ana sayfa isteği 4. İstek alınır 5. Sayfa getirilir 6. Sayfa gönderilir 7. Sayfa görüntülenir 8
  • 5. 12.10.2015 5 PHP Nasıl Çalışır 1. URL girilir 2. IP bulunur 3. Ana sayfa isteği 4. İstek alınır 5. Sayfa getirilir 6. PHP içeriyor mu? 7. PHP işlenir 8. SQL işlenir (varsa) 9. Veri alınır 10. Sayfa gönderilir 11. Sayfa görüntülenir 9 Web sunucu nedir? HTTP istekleri ve geri döndürülecek cevapların işlenmesinden sorumlu bilgisayar programıdır. HTTP istekleri (request) alır İstenen kaynakları bulur veya bir program çalıştırır Bulunan kaynakları çıktı olarak tarayıcıya gönderir En bilinen web sunucular Apache, IIS, NodeJS, nginx, ligHttpd ve diğerleri "LAMP" – Linux, Apache, MySQL, PHP/Perl – bir web sunucu üzerinde en çok kullanılan yazılımlardır
  • 6. 12.10.2015 6 Web uygulamaları Web uygulamaları Web üzerinden erişilebilen uygulamalara verilen isimdir Web sunucular üzerinde çalışır Genellikle PHP, Perl, Java, ASP gibi sunucu tarafında çalışan diller ile geliştirilirler Dinamik olarak üretilmiş içeriklere sahiptirler Çoğunlukla üç katmanlı mimaridedirler (three- tier) - web server, uygulama ve veritabanı Sadece web sayfalarından oluşmazlar
  • 7. 12.10.2015 7 Web uygulamaları- Örnekler Gmail SkyDrive / Live.com Google Office / Windows Office Prezi Creately Slideshare Web tarayıcıları üzerinden erişilerek kullanılan neredeyse herşey ☺ 13 Merhaba PHP PHP kodları genellikle ".php" uzantısına sahip dosyalarda bulunurlar. Yapılandırılabilirler PHP kodları HTML belge içine yerleştirilebilirler <html> <head><title>Merhaba dünya sayfası</title></head> <body> Merhaba HTML! </body> </html>
  • 8. 12.10.2015 8 <html> <head><title>Merhaba dünya sayfası</title></head> <body> <?php print ("Merhaba PHP!"); ?> </body> </html> Merhaba PHP PHP kodları genellikle ".php" uzantısına sahip dosyalarda bulunurlar. Yapılandırılabilirler PHP kodları HTML belge içine yerleştirilebilirler <html> <head><title>Merhaba dünya sayfası</title></head> <body> <?php print ("Merhaba PHP!"); ?> </body> </html> Merhaba PHP PHP kodları genellikle ".php" uzantısına sahip dosyalarda bulunurlar. Yapılandırılabilirler PHP kodları HTML belge içine yerleştirilebilirler <?php PHP kod başlangıcı ?> PHP kod sonu
  • 9. 12.10.2015 9 Merhaba PHP – Dosyayı nereye koyacağız? webroot klasörü XAMMP – htdocs/ WAMP – www/ Webroot klasörü yapılandırılabilir http://localhost/tam/klasör/yolu/dosyaAdi.php Adresi üzerinden erişilebilir 17 Söz Dizimi - Syntax
  • 10. 12.10.2015 10 PHP Söz Dizimi PHP kodları <?php ile başlar ve ?> ile biter Sunucu yapılandırmasına bağlı olarak <? İle de başlayabilir (Kısa stil) – ama bu kötü bir uygulamadır! XML açısından <?php - ?> bölümü " işlem yönergesi" (processing instruction) olarak adlandırılır PHP, Perl söz dizimini takip eder Basitleştirilmiş Yapısal (Artık aynı zamanda OOP) C ve Java benzeri PHP Söz Dizimi PHP Betik bir veya daha fazla ifadeden oluşur İfadeler PHP Preprocessor tarafından tek tek ele alınır Herbir ifade noktalı virgül ";" ile sonlanır İlk betiğimiz tek ifadeden oluşmaktadır: print fonksiyonunun çağrılması <?php print («Merhaba PHP!"); // bu bir ifade ?>
  • 11. 12.10.2015 11 PHP Söz Dizimi PHP betik sınırsız sayıda ifadeden oluşabilir Bazı fonksiyonlar parantez kullanılmadan çağrılabilir Koda yorum satırları eklenebilir Tek satır yorum "//", "#" veya yorum bloğu için "/*" ve "*/" arasında Sadece "/*" – "*/" çok satırlı yorumlar için kullanılabilir Yorumlar çalıştırılmazlar ve tarayıcıya gönderilmezler <?php print "<div>"; print "Merhaba PHP!"; print "</div>"; ?> PHP Söz Dizimi Kısa açılış etiketi <?= İfadenin tarayıcıda yazdırılmasına zorlar print ile aynıdır ";" noktalı virgül ihmal edilebilir <html> <head><title>Merhaba dünya sayfası</title></head> <body> <?="Merhaba PHP!" ?> </body> </html>
  • 12. 12.10.2015 12 Değişkenler Değişken rakamla başlayamaz. Değikenler içinde özel karakterler kullanılamaz. Sadece harfler, sayılar ve _ işareti kullanılabilir. Geçersiz değişken tanımları; $3not, $2x, $a(, $toplam?, Geçerli değişken tanımları; $not, $not1, $toplam, $notlar_toplami Değişkenler içindeTürkçe karakterler kullanılmaz: Örneğin; ıİ,Şş,Çç,Ğğ,Öö,Üü PHP Değişkenler
  • 13. 12.10.2015 13 PHP Değişkenler PHP’deki tüm değişkenler (sabit değişkenler hariç) dolar $ işareti ile başlar(Perl stili) PHP "type-less" bir dildir Değişkenler bir tür ile bağlantılı değildir. farklı türde değişken değerleri saklanabilir int a = 5; şeklinde tanımlanmaz, $a = 5; yazmak yeterlidir Herbir değişken değerin atandığı ilk yerde tanımlanmış olur Tür belirtme hatalarının önüne geçilir! Değerin türü değişken türünü belirler <?php // $output string değişkeni tanımla $output = "<div>Merhaba PHP!</div>"; print $output; ?> PHP DeğişkenTürleri Sayısal (real veya integer) Ondalık ayraç noktadır ".", virgül ", " değil Boolean (true veya false) PHP değişkenleri true,TRUE,True veya false, FALSE, False olarak tanımlanır Empty string, sıfır ve bazı diğer değerler dolaylı olarak boolean ifadeler içinde "false" değerine çevrilirler boolean uygun kullanılmadığında probleme sebep olabilir
  • 14. 12.10.2015 14 PHP Strings String değerler String değerler tek veya çift tırnak içinde yazılabilir Başlangıç ve bitiş tırmakları aynı olmalı <? $output1 = "Merhaba PHP!"; $output2 = 'Tekrar merhaba!'; ?> PHP Diziler Array’ler kümelenmiş değerlerdir – her bir değer array içinde bir anahtara (key, index) atanmıştır. PHP ilişkisel dizileri destekler – key/index nümerik, string veya diğer sayısal türlerde olabilir Key/index dizi boyunca tekil olmalıdır Dizideki değerler farklı türlerde olabilir PHP diziler dinamiktir – yaratılırken belli bir büyüklükte tanımlanmaları gerekmez
  • 15. 12.10.2015 15 PHP Arrays PHP diziler array anahtar kelimesi ile tanımlanır "=>" anlamı "işaret etmek" tir Eğer anahtarlar belirtilmediyse otomatik olarak sıfırdan başlayan değerler verilir <? // basit dizi $arr = array ("a", "b", 7); // bu ifade $arr[0], $arr[1] ve $arr[2] // sırasıyla "a", "b" ve 7 değerlerini içeren // diziyi üretir $arr2 = array ("one" => 1, "two" => 2); // bu ifade $arr2["one"] ve $arr2["two"] // sırasıyla 1 ve 2 değerlerini içeren // diziyi üretir ?> PHP Diziler Dizi değerlerine "[" ve "]" arasındaki anahtar(key)/index değeri ile erişilir Diziler esnektirler ve değer türleri ve anahtar karışık olabilir <? $arr = array ("a", "b", 7, "bir" => 1, "iki" => 2, "diger" => array(1,2,3)); // anahtar/index türleri karışık: // $arr[0] => "a" ve $arr["bir"] => 1 // $arr["diger"] yine bir dizidir // $arr["diger"][0]" => 1 print $arr["diger"][2]; // tarayıcı çıktısı 3 ?>
  • 16. 12.10.2015 16 PHP NULL Değer PHP’de null olarak isimlendirilen özel bir değer vardır ve değişkenin bir değer almadığını gösterir Herhangi bir türde verinin olmadığını göstermek için kullanılır Tanımsız "undefined" değişkenden farklıdır! Boş string veya sıfır değerinden farklıdır <? $null_variable = null; ?> PHP DeğişkenTürleri PHP "object" değişken türünü destekler "Resource" (kaynak ) değişken türü Resouce türü, değişken değerinin bir kaynak veya veriye referans değeri tutar. Örnek – açık bir dosya, veri tabanı bağlantısı, v.b
  • 17. 12.10.2015 17 PHPTemel İfadeler PHP ifadeleri C dilindekine benzer "=" – değişkenlere değer atamak için kullanılır +, -, /, *, % - aritmetik işlemler ==, <=, >=, !=, <, > - karşılaştırma +=, -=, /=, *=, %=, ++, --,– önek/sonek operatörler ( and ) – ifade birleştirme için &, |, >>, <<, ^, ~ - bit bazlı operatörler PHP Basic Expressions 2 String operatörleri "." (period) – string birleştirme ===, !== karşılaştırma ==, != operatörlerinden farklıdır. "10"==10 işleminde sonuç true iken "10"===10 karşılaştırmasında sonuç false Tam karşılaştırma – $a === $b : TRUE $a değişken değeri $b değişken değerine eşitse, ve aynı değişken türündeyseler. $a = $b = $c = 7;
  • 18. 12.10.2015 18 PHP Sabitler PHP’de sabit değişkenler define fonksiyonu ile tanımlanırlar Değeri değiştirilemez $ sembolü ile başlamaz Herhangi bir değeri tutabilir <? define ('DEGISKEN_ADI', 123); // DEGISKEN_ADI, 123 değerini alır print DEGISKEN_ADI; // 123 tarayıcı çıktısı verir ?> Temel Fonksiyonlar
  • 19. 12.10.2015 19 BazıTemel Fonksiyonlar print fonksiyonunu gördük echo fonksiyonu da print ile aynıdır. print fonksiyonu bir değer geri döndürür. print_r(array) – key/index değerleri ile birlikte dizi değerleri tarayıcıya yazar. phpinfo() – sunucu, PHP ayarları, kurulu modüller v.b bir sayfa oluşturur <? echo "123"; // tarayıcıda 123 çıktısı verir ?> ÖnTanımlı Değişkenler
  • 20. 12.10.2015 20 ÖnTanımlı Değişkenler PHP ön tanımlı birçok değişken ve sabit sağlar __FILE__, __LINE__, __FUNCTION__, __METHOD__, __CLASS__ - hata ayıklama bilgisi içerirler. PHP_VERSION, PHP_OS, PHP_EOL, DIRECTORY_SEPARATOR, PHP_INT_SIZE ve diğerleri farklı platform desteği sağlayan uygulamaların kolaylıkla geliştirilmesine yardımcı olurlar. ÖnTanımlı Değişkenler $_SERVER – dizi değişkendir, web sunucusuna ait bilgileri tutar – headers, klasör yolları ve script yerleri DOCUMENT_ROOT – web sunucu yapılandırmasında sitenin kök klasörüdür SERVER_ADDRESS, SERVER_NAME, SERVER_SOFTWARE, SERVER_PROTOCOL REMOTE_ADDR, REMOTE_HOST, REMOTE_PORT PHP_AUTH_USER, PHP_AUTH_PW, PHP_AUTH_DIGEST Ve diğerleri
  • 21. 12.10.2015 21 ÖnTanımlı Değişkenler $_GET, $_POST, $_COOKIE dizileri URL’den gelen gönderim gönderi ve cookie bilgilerini tutar $_FILES çok parçalı gönderim istekleri üzerinden başarılı yüklenen dosya bilgilerini tutan dizidir.array holds information for successfully $_SESSION bir oturumda saklanan değişken değerlerini tutan dizidir. Değişken değişkenleri PHP $$ sözdizimini destekler- değişken değerinden değişken tanımlanır <? $str1 = 'test'; $test = 'abc'; echo $$str1; // abc tarayıcı çıktısı üretir ?>
  • 22. 12.10.2015 22 Strings Escaping Strings escaping String’lerdeki özel karakterlerden ters bölü işareti ile kaçılır (C stili) Özel karakterler: n – yeni satır (new line) (10 in ASCII) r – carriage return (13 in ASCII) t – yatay tab v – düşey tab - ters bölü $ - dollar işareti " – çift tırnak $str1 = "bu bir"PHP"";
  • 23. 12.10.2015 23 String escaping Tek tırnak string’lerde de kullanım aynı şekildedir Fark " yerine ' kullanılmasıdır Tek veya çift tırnak kullanılan stringlerde ters bölü diğer tüm karakterlerin önünde tarayıcıda görüntülenecektir! $str1 = 'Arnold dedi ki: "I'll be back"'; String’ler içindeki değişkenler Çift tırnak içindeki string’ler biraz daha fazla özellik sağlarlar: Çift tırnak içinde kullanılan değişkenlerin taşıdıkları değerler kullanılır. Diziler hakkında not: $saying = "I'll be back!"; $str1 = "Arnold dedi ki: $saying"; // çıktısı: // Arnold dedi ki: I'll be back! $sayings = array ('arni' => "I'll be back!"); $str1 = "Arnold dedi ki: ${sayings['arni']}";
  • 24. 12.10.2015 24 Heredoc (Yorumlu Metin) sözdizimi String’ler (dizgeler) heredoc sözdizimi ile başlar ('<<<') Bir yorumlu metin daima <<< karakterleri ile başlar ve hemen ardından bir betimleyici ve bir satırsonu karakteri gelir. Uzun HTML kodlarını echo veya print ile yazmaya göre daha kullanışlıdır. $str = <<<EOT Burası string içerik EOT; Heredoc (Yorumlu Metin) sözdizimi Asıl string (dizge) satırsonu karakterinden sonra yer alır. Dizgenin sonunu belirtmek üzere dizgenin sonuna, baştaki betimleyici konur. Kapanış betimleyicisinin dizgeden sonraki satırın başında olması gerekir. Betimleyici PHP'deki diğer isimlere uygulanan kurallara uygun olmalıdır: Sadece bir harfle veya alt çizgi imi ile başlayabilir; sadece harfler, rakamlar veya alt çizgi imleri içerebilir.
  • 25. 12.10.2015 25 Avantaj ve Dezavantajlar Avantajlar ve Dezavantajlar Avantajlar Öğrenmesi kolaydır, açık kaynak, çoklu platform ve veri tabanı desteği, eklentiler, topluluk ve ticari destekli. En hızlı dillerden biri varsayılmaktadır Dezavantajlar Gevşek bir söz dizimi– risk hoşgörülü, zayıf hata yakalama, zayıf OOP (sürüm 6 öncesi oldukça fazla eksik bulunuyor!)