ݺߣ

ݺߣShare a Scribd company logo
12.10.2015
1
?nternetTabanl?
Programlama
PHPTemelleri
Yrd.Do?.Dr.Celal Murat KANDEM?R
ESOG? C E?itim Fakltesi - 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? C E?itim Fakltesi - 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 C avantajlar ve dezavantajlar
PHP, ve Web Sunucu
Nedir?
12.10.2015
4
PHP Nedir?
"PHP Hypertext Preprocessor"
Betik (Scripting) dili
Dinamik i?erik retimi C ?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?mlebilir.
?lk kez 1995te Apache i?in modl 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?rntlenir
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?rntlenir
9
Web sunucu nedir?
HTTP istekleri ve geri d?ndrlecek 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" C Linux, Apache, MySQL, PHP/Perl C 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
ݺߣshare
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 dnya sayfas?</title></head>
<body>
Merhaba HTML!
</body>
</html>
12.10.2015
8
<html>
<head><title>Merhaba dnya 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 dnya 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 C Dosyay? nereye
koyaca??z?
webroot klas?r
XAMMP C htdocs/
WAMP C 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) C ama bu k?t bir uygulamad?r!
XML a??s?ndan <?php - ?> b?lm " 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? virgl ";" 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 "/*" C "*/" ?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? virgl ihmal edilebilir
<html>
<head><title>Merhaba dnya 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?indeTrk?e karakterler kullan?lmaz:
?rne?in; ??,??,??,??,??,?
PHP De?i?kenler
12.10.2015
13
PHP De?i?kenler
PHPdeki tm 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 tr ile ba?lant?l? de?ildir. farkl? trde
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
Tr belirtme hatalar?n?n ?nne ge?ilir!
De?erin tr de?i?ken trn belirler
<?php // $output string de?i?keni tan?mla
$output = "<div>Merhaba PHP!</div>";
print $output;
?>
PHP De?i?kenTrleri
Say?sal (real veya integer)
Ondal?k ayra? noktad?r ".", virgl ", " 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
Arrayler kmelenmi? de?erlerdir C her bir
de?er array i?inde bir anahtara (key, index)
atanm??t?r.
PHP ili?kisel dizileri destekler C key/index
nmerik, string veya di?er say?sal trlerde
olabilir
Key/index dizi boyunca tekil olmal?d?r
Dizideki de?erler farkl? trlerde olabilir
PHP diziler dinamiktir C yarat?l?rken belli bir
byklkte 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 trleri ve anahtar
kar???k olabilir
<?
$arr = array ("a", "b", 7, "bir" => 1, "iki" =>
2, "diger" => array(1,2,3));
// anahtar/index trleri 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
PHPde null olarak isimlendirilen ?zel bir de?er
vard?r ve de?i?kenin bir de?er almad???n?
g?sterir
Herhangi bir trde 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?kenTrleri
PHP "object" de?i?ken trn destekler
"Resource" (kaynak ) de?i?ken tr
Resouce tr, de?i?ken de?erinin bir kaynak
veya veriye referans de?eri tutar.
?rnek C a??k bir dosya, veri taban? ba?lant?s?, v.b
12.10.2015
17
PHPTemel ?fadeler
PHP ifadeleri C dilindekine benzer
"=" C de?i?kenlere de?er atamak i?in kullan?l?r
+, -, /, *, % - aritmetik i?lemler
==, <=, >=, !=, <, > - kar??la?t?rma
+=, -=, /=, *=, %=, ++, --,C ?nek/sonek
operat?rler
( and ) C ifade birle?tirme i?in
&, |, >>, <<, ^, ~ - bit bazl? operat?rler
PHP Basic Expressions 2
String operat?rleri
"." (period) C 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 C $a === $b :
TRUE $a de?i?ken de?eri $b de?i?ken de?erine e?itse,
ve ayn? de?i?ken trndeyseler.
$a = $b = $c = 7;
12.10.2015
18
PHP Sabitler
PHPde 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?rdk
echo fonksiyonu da print ile ayn?d?r. print
fonksiyonu bir de?er geri d?ndrr.
print_r(array) C key/index de?erleri ile
birlikte dizi de?erleri taray?c?ya yazar.
phpinfo() C sunucu, PHP ayarlar?, kurulu
modller 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 C dizi de?i?kendir, web sunucusuna ait
bilgileri tutar C headers, klas?r yollar? ve script yerleri
DOCUMENT_ROOT C web sunucu yap?land?rmas?nda
sitenin k?k klas?rdr
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
URLden gelen g?nderim g?nderi ve cookie
bilgilerini tutar
$_FILES ?ok par?al? g?nderim istekleri
zerinden ba?ar?l? yklenen 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
Stringlerdeki ?zel karakterlerden ters b?l i?areti ile
ka??l?r (C stili)
?zel karakterler:
n C yeni sat?r (new line) (10 in ASCII)
r C carriage return (13 in ASCII)
t C yatay tab
v C d?ey tab
 - ters b?l
$ - dollar i?areti
" C ?ift t?rnak
$str1 = "bu bir"PHP"";
12.10.2015
23
String escaping
Tek t?rnak stringlerde de kullan?m ayn?
?ekildedir
Fark " yerine ' kullan?lmas?d?r
Tek veya ?ift t?rnak kullan?lan stringlerde ters
b?l di?er tm karakterlerin ?nnde taray?c?da
g?rntlenecektir!
$str1 = 'Arnold dedi ki: "I'll be back"';
Stringler i?indeki de?i?kenler
?ift t?rnak i?indeki stringler 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
Stringler (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 dizimiC risk ho?g?rl, zay?f hata
yakalama, zay?f OOP (srm 6 ?ncesi olduk?a
fazla eksik bulunuyor!)
12.10.2015
26
PHPTemelleri
Sorular?

More Related Content

What's hot (20)

Terraform
TerraformTerraform
Terraform
Diego Pacheco
?
Basic WordPress Workshop Presentation
Basic WordPress Workshop PresentationBasic WordPress Workshop Presentation
Basic WordPress Workshop Presentation
Felix Albutra
?
OCR speech using Labview
OCR speech using LabviewOCR speech using Labview
OCR speech using Labview
Bharat Thakur
?
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
Amazon Web Services
?
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
Matt Callanan
?
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Effective administration of IBM Integration Bus - Sanjay NagchowdhuryEffective administration of IBM Integration Bus - Sanjay Nagchowdhury
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
?
Kuberntes Ingress with Kong
Kuberntes Ingress with KongKuberntes Ingress with Kong
Kuberntes Ingress with Kong
Nebulaworks
?
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
?
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
Dotitude
?
Front end development session1
Front end development session1Front end development session1
Front end development session1
marwa Ayad Mohamed
?
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
confluent
?
4 4 Multimedia Production Team
4 4 Multimedia Production Team4 4 Multimedia Production Team
4 4 Multimedia Production Team
Kimah
?
Web Development
Web DevelopmentWeb Development
Web Development
Harshdeep Singh
?
Microservices, Containers and Docker
Microservices, Containers and DockerMicroservices, Containers and Docker
Microservices, Containers and Docker
Ioannis Papapanagiotou
?
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
DoKC
?
CMP315_Optimizing Network Performance for Amazon EC2 Instances
CMP315_Optimizing Network Performance for Amazon EC2 InstancesCMP315_Optimizing Network Performance for Amazon EC2 Instances
CMP315_Optimizing Network Performance for Amazon EC2 Instances
Amazon Web Services
?
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
David Currie
?
Preguntas WampPreguntas Wamp
Preguntas Wamp
Stefyta Alexa
?
Introduction To Flutter - Widgets.pptx
Introduction To Flutter - Widgets.pptxIntroduction To Flutter - Widgets.pptx
Introduction To Flutter - Widgets.pptx
romannjoroge
?
Connecting mq&amp;kafka
Connecting mq&amp;kafkaConnecting mq&amp;kafka
Connecting mq&amp;kafka
Matt Leming
?
Basic WordPress Workshop Presentation
Basic WordPress Workshop PresentationBasic WordPress Workshop Presentation
Basic WordPress Workshop Presentation
Felix Albutra
?
OCR speech using Labview
OCR speech using LabviewOCR speech using Labview
OCR speech using Labview
Bharat Thakur
?
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
The People Model & Cloud Transformation - Transformation Day Public Sector Lo...
Amazon Web Services
?
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
Matt Callanan
?
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Effective administration of IBM Integration Bus - Sanjay NagchowdhuryEffective administration of IBM Integration Bus - Sanjay Nagchowdhury
Effective administration of IBM Integration Bus - Sanjay Nagchowdhury
Karen Broughton-Mabbitt
?
Kuberntes Ingress with Kong
Kuberntes Ingress with KongKuberntes Ingress with Kong
Kuberntes Ingress with Kong
Nebulaworks
?
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
?
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
Dotitude
?
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
Lessons Learned Building a Connector Using Kafka Connect (Katherine Stanley &...
confluent
?
4 4 Multimedia Production Team
4 4 Multimedia Production Team4 4 Multimedia Production Team
4 4 Multimedia Production Team
Kimah
?
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
Running PostgreSQL in Kubernetes: from day 0 to day 2 with CloudNativePG - Do...
DoKC
?
CMP315_Optimizing Network Performance for Amazon EC2 Instances
CMP315_Optimizing Network Performance for Amazon EC2 InstancesCMP315_Optimizing Network Performance for Amazon EC2 Instances
CMP315_Optimizing Network Performance for Amazon EC2 Instances
Amazon Web Services
?
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
David Currie
?
Preguntas WampPreguntas Wamp
Preguntas Wamp
Stefyta Alexa
?
Introduction To Flutter - Widgets.pptx
Introduction To Flutter - Widgets.pptxIntroduction To Flutter - Widgets.pptx
Introduction To Flutter - Widgets.pptx
romannjoroge
?
Connecting mq&amp;kafka
Connecting mq&amp;kafkaConnecting mq&amp;kafka
Connecting mq&amp;kafka
Matt Leming
?

Viewers also liked (15)

?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?lm 1
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 1Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 1
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 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?lm 2
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2
cmkandemir
?
Kod Ak?? Kontrol - D?ngler, Fonksiyonlar
Kod Ak?? Kontrol - D?ngler, FonksiyonlarKod Ak?? Kontrol - D?ngler, Fonksiyonlar
Kod Ak?? Kontrol - D?ngler, 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
?
?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?lm 1
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 1Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 1
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 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?lm 2
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2
Canvas ??renme Y?netim Sistemi Kullan?m K?lavuzu B?lm 2
cmkandemir
?
Kod Ak?? Kontrol - D?ngler, Fonksiyonlar
Kod Ak?? Kontrol - D?ngler, FonksiyonlarKod Ak?? Kontrol - D?ngler, Fonksiyonlar
Kod Ak?? Kontrol - D?ngler, 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
?

Similar to PHP Temelleri (20)

Php
PhpPhp
Php
Ferhat Co?kun
?
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 MySQL
O?uzhan TA? Akademi
?
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 ornekleri
Php ornekleriPhp ornekleri
Php ornekleri
sersld89
?
Php danismani
Php danismaniPhp danismani
Php danismani
sersld89
?
Php cevaplari
Php cevaplariPhp cevaplari
Php cevaplari
sersld89
?
Php kursu-catalca
Php kursu-catalcaPhp kursu-catalca
Php kursu-catalca
sersld88
?
Php ogretmeni
Php ogretmeniPhp ogretmeni
Php ogretmeni
sersld89
?

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
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
?
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
?
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
?

PHP Temelleri

  • 1. 12.10.2015 1 ?nternetTabanl? Programlama PHPTemelleri Yrd.Do?.Dr.Celal Murat KANDEM?R ESOG? C E?itim Fakltesi - 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? C E?itim Fakltesi - 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 C 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 C ?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?mlebilir. ?lk kez 1995te Apache i?in modl 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?rntlenir 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?rntlenir 9 Web sunucu nedir? HTTP istekleri ve geri d?ndrlecek 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" C Linux, Apache, MySQL, PHP/Perl C 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 ݺߣshare 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 dnya sayfas?</title></head> <body> Merhaba HTML! </body> </html>
  • 8. 12.10.2015 8 <html> <head><title>Merhaba dnya 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 dnya 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 C Dosyay? nereye koyaca??z? webroot klas?r XAMMP C htdocs/ WAMP C 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) C ama bu k?t bir uygulamad?r! XML a??s?ndan <?php - ?> b?lm " 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? virgl ";" 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 "/*" C "*/" ?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? virgl ihmal edilebilir <html> <head><title>Merhaba dnya 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?indeTrk?e karakterler kullan?lmaz: ?rne?in; ??,??,??,??,??,? PHP De?i?kenler
  • 13. 12.10.2015 13 PHP De?i?kenler PHPdeki tm 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 tr ile ba?lant?l? de?ildir. farkl? trde 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 Tr belirtme hatalar?n?n ?nne ge?ilir! De?erin tr de?i?ken trn belirler <?php // $output string de?i?keni tan?mla $output = "<div>Merhaba PHP!</div>"; print $output; ?> PHP De?i?kenTrleri Say?sal (real veya integer) Ondal?k ayra? noktad?r ".", virgl ", " 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 Arrayler kmelenmi? de?erlerdir C her bir de?er array i?inde bir anahtara (key, index) atanm??t?r. PHP ili?kisel dizileri destekler C key/index nmerik, string veya di?er say?sal trlerde olabilir Key/index dizi boyunca tekil olmal?d?r Dizideki de?erler farkl? trlerde olabilir PHP diziler dinamiktir C yarat?l?rken belli bir byklkte 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 trleri ve anahtar kar???k olabilir <? $arr = array ("a", "b", 7, "bir" => 1, "iki" => 2, "diger" => array(1,2,3)); // anahtar/index trleri 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 PHPde null olarak isimlendirilen ?zel bir de?er vard?r ve de?i?kenin bir de?er almad???n? g?sterir Herhangi bir trde 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?kenTrleri PHP "object" de?i?ken trn destekler "Resource" (kaynak ) de?i?ken tr Resouce tr, de?i?ken de?erinin bir kaynak veya veriye referans de?eri tutar. ?rnek C a??k bir dosya, veri taban? ba?lant?s?, v.b
  • 17. 12.10.2015 17 PHPTemel ?fadeler PHP ifadeleri C dilindekine benzer "=" C de?i?kenlere de?er atamak i?in kullan?l?r +, -, /, *, % - aritmetik i?lemler ==, <=, >=, !=, <, > - kar??la?t?rma +=, -=, /=, *=, %=, ++, --,C ?nek/sonek operat?rler ( and ) C ifade birle?tirme i?in &, |, >>, <<, ^, ~ - bit bazl? operat?rler PHP Basic Expressions 2 String operat?rleri "." (period) C 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 C $a === $b : TRUE $a de?i?ken de?eri $b de?i?ken de?erine e?itse, ve ayn? de?i?ken trndeyseler. $a = $b = $c = 7;
  • 18. 12.10.2015 18 PHP Sabitler PHPde 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?rdk echo fonksiyonu da print ile ayn?d?r. print fonksiyonu bir de?er geri d?ndrr. print_r(array) C key/index de?erleri ile birlikte dizi de?erleri taray?c?ya yazar. phpinfo() C sunucu, PHP ayarlar?, kurulu modller 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 C dizi de?i?kendir, web sunucusuna ait bilgileri tutar C headers, klas?r yollar? ve script yerleri DOCUMENT_ROOT C web sunucu yap?land?rmas?nda sitenin k?k klas?rdr 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 URLden gelen g?nderim g?nderi ve cookie bilgilerini tutar $_FILES ?ok par?al? g?nderim istekleri zerinden ba?ar?l? yklenen 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 Stringlerdeki ?zel karakterlerden ters b?l i?areti ile ka??l?r (C stili) ?zel karakterler: n C yeni sat?r (new line) (10 in ASCII) r C carriage return (13 in ASCII) t C yatay tab v C d?ey tab - ters b?l $ - dollar i?areti " C ?ift t?rnak $str1 = "bu bir"PHP"";
  • 23. 12.10.2015 23 String escaping Tek t?rnak stringlerde de kullan?m ayn? ?ekildedir Fark " yerine ' kullan?lmas?d?r Tek veya ?ift t?rnak kullan?lan stringlerde ters b?l di?er tm karakterlerin ?nnde taray?c?da g?rntlenecektir! $str1 = 'Arnold dedi ki: "I'll be back"'; Stringler i?indeki de?i?kenler ?ift t?rnak i?indeki stringler 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 Stringler (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 dizimiC risk ho?g?rl, zay?f hata yakalama, zay?f OOP (srm 6 ?ncesi olduk?a fazla eksik bulunuyor!)