PHP
PHP (Personal Home Page), ilk olarak Rasmus Lerdorf tarafından Perl dilinde yazıldı. Rasmus daha sonra C ile kodu tekrar yazdı ve dokümantasyonunu yaptı böylece Php 1.0 doğmuş oldu. Daha sonra Zeev Suraski ve Andi Gutmans'ın önemli katkılarıyla Php 3.0 ve 4.0 ortaya çıktı. Yine bu ikili Zend motoru ile PHP'nin 4.0 uyarlamasını daha da hızlandırmayı başardılar..
php dilinin özellikleri
Açık kodludur (open source), kaynak kodları herkes tarafından görülebilir ve geliştirilebilir,
Server side çalıştığı için client'ı yavaşlatmaz, hızlı çalışır,
Her platformda çalışır (cross platform),
Çok az sistem kaynağı harcar,
Yaygın olarak kullanılan veritabanlarını tanır : Oracle, Sybase, MS Sql, My Sql, dBase, Informix. Ayrıca ODBC standartlarını destekler,
Bedavadır.
Operatörler
=> : dizi tanımlarken değeri anahtara bağlar
< : küçüktür
> : büyüktür
<= : küçük veya eşittir
>= : büyük veya eşittir
--x : önce azalt, sonra komutu çalıştır
++x : önce arttır, sonra komutu çalıştır
x-- : önce komutu çalıştır, sonra azalt
x++ : önce komutu çalıştır, sonra arttır
x+=y : x = x+y
x-=y : x = x-y
x*=y : x = x*y
x/=y : x = x/y
% : tamsayılı bölme (modüler bölme)
&& : And (Ve)
|| : Or (Veya)
! : Not (Değil)
== : Eşitlik
<< : 2'lik tabanda sola kaydır (2 ile çarp)
>> : 2'lik tabanda sağa kaydır (2'ye böl)
Veri tipleri
Sayılar (skaler veri) : Tam veya Tam olmayan
$a = 5;
$pi = 3.14;
Karakter zinciri (skaler veri)
$isim = 'Cem';
$okul = 'Saint-Joseph';
Diziler
$arabalar['opel'] = 'hızlı';
$arabalar['lada'] = 'yavaş'; VEYA $arabalar = array('opel' => 'hızlı', 'lada' => 'yavaş' );
$icerik = $arabalar('opel');
echo $icerik;
Sabitler
define('pi', 3.1415);
Dikkat $ işareti kullanılmıyor
Dikkat :
Değişken isimleri rakamla başlayamaz
Escape karakterleri
\r : enter
\t : tab
\n : satır atla
\$ : $ işareti ekle
\' : kesme işareti (') ekle
\\ : ters bölü işareti (\) ekle
\0 : onluk sayı
\x : onaltılık sayı
Diziler
http://www.sj.k12.tr/html/konu/php/tr/diziler.htmlSorular
Php nedir ?
Php bir script dilidir.
Php nerede çalışır (server / client) ?
Php server side (sunucu tarafı) bir script dilidir. Server'da çalışır, bu yüzden hızlıdır.
Php kodu nereye konmalı ?
Html dosyasında herhangi bir yere konabilir.
Php örneklerimi hemen deneyebilir miyim ?
Hayır. Ya php yüklenmiş bir server'a upload edip orada denemelisin, ya da Apache'ın Php Modülünü, Veritabanı için MySql'i kendi bilgisayarına yükleyip üzerine Php'yi yüklemelisin. Bu yükleme işlemlerini Easyphp paketini kullanarak otomatik olarak ve kolayca gerçekleştirebilirsin.
Niçin Php öğrenmeliyim ?
Php, Asp ve ColdFusion'a kıyasla daha kolaydır. Ayrıca veritabanı standartlarını destekler : yani veritabanı uygulamaları yazmak istiyorsan basit bir seçenektir.
Php kodları Html dosyada nasıl kullanılır ?
<?php Inline Php komutları buraya yazılır ?>
<?php ve ?> tag'larının veya sadece <? ve ?> tag'larının arasında istenen Php komutları ve fonksiyonları kullanılır. Burada önceden yüklenmek koşuluyla (bkz Include komutu) external bir dosya ile tanımlanmış fonksiyonlar da kullanılabilir
Örnek
<?php
komutlar;
?>
Örnek
<?
komutlar;
?>
Require('dosya_adı.soyadı') komutu ile external dosya kullanılır
Php kodlarını veya başka bilgileri içeren external metin dosyası önceden hazırlanmış ve kaydedilmiş olmalıdır
Örnek
require('ortak.inc');
Php komutları ile dinamik Html dosya nasıl oluşturulur ?
Echo komutu ile oluşturulur
Örnek
<?
echo "<p> deneme 1 </p>";
echo "<ul><li>deneme 2 </li></ul>";
?>
Yukarıdaki kod şu Html dosyasını oluşturur
<p> deneme 1 </p>
<ul>
<li>deneme 2 </li>
</ul>
Php ile ilgili beğendiğim web adresleri
www.zend.com * * * * *
www.phpbuilder.com * * * * *
www.php.netwww.php-turkiye.com (Türkçe)
www.php.org.tr (Türkçe)
phpscripts.free.fr (Français)
www.phpindex.com (Français)
hotwired.lycos.com/webmonkey/programming/php
Php açıklamaları (Türkçe)
Php 4.0 manual phpclasses.UpperDesign.com
px.sklar.com
www.tcx.sephp.resourceindex.com
www.php4.comwww.htmlwizard.net/phptidbitsphpwizard.net
phplib.netuse.de
www.weberdev.commidgard.greywolves.org
webdev.berber.co.il
www.stars.comPhp komutları
Echo
For
If
Continue
While ... endwhile
Do ... while
Switch ... case
// Remark
Fonksiyonlar
Function fonksiyonun ismi(parametre listesi) { komutlar; }
Fonksiyonlar bir programı küçük parçalara ayırmaya ve basitleştirmeye yarar. Böylece kodlar daha okunaklı ve anlamlı olur,
Fonksiyon ismi rakamla başlayamaz ve nokta içeremez,
Parametre listesi fonksiyona girilecek değerleri belirtir ve kullanılması zorunlu değildir,
Fonksiyon, parametrelerden birinin değerini değiştirecekse parametre fonksiyona & işareti kullanılarak fonksiyon-ismi(&$parametre) biçiminde girilmelidir
Fonksiyon içinde tanımlanan değişkenler yereldir, eğer global olmaları (yani sayfanın her yerinde tanımlı olmaları) isteniyorsa Global $a biçiminde tanımlanmalıdırlar
Örnek
<?php
function alan($yaricap)
{
return(3.14 * ($yaricap * $yaricap));
}
$daireninalani = alan(10);
echo $daireninalani; // bu fonksiyon sonuç olarak 314 verir
?>
PHP
Php uyarlamalarının numaralanması
Mysql 3.22.32’de 3 sayısı dosyanın tipini, 22 yayım numarasını, 32 ise uyarlama numarasını belirtir. Alpha soneki yayımın bir çok yeni kod içerdiğini ama test aşamasının sürdüğünü, Beta soneki test aşamasının sona erdiğini, kitapçığın hazır olduğunu ve belirli bir süre sonunda gama aşamasına geçileceğini belirtir. Bizim örneğimizde olduğu gibi hiç sonek yoksa uyarlamanın kararlı olduğu anlaşılır.
Php ile Javascript farkı
Dans les pages php, le code du programme reste masqué pour l’appelant même lorsque l’on visualise depuis le navigateur le code source de la page. Parce que le code est interprété, exécuté et retiré de la page avant que la page ne soit expédiée. Au contraire, dans les pages Javascript, le code source peut être visualisé depuis le navigateur.
Require ile Include farkı
Aynı kodları bir çok dosyada ayrı ayrı tekrarlamamak için kod parçaları dosyalara bu iki komut yardımıyla eklenir. Require yalnız 1 kere çağrılabilir, bu yüzden döngülerde kullanılamaz. Include defalarca kullanılabilir.
Php4’te include komut değil fonksiyondur ve değer döndürebilir. Bu değer return() ile tanımlanmalıdır. Php4’te require ile eklenen dosyalarda return komutu kullanılamaz.
Şifreler
AuthUserFile /etc/httpd/htpasswd.users
httpd.conf dosyası
etc/httpd/httpd.conf (Edit ile olmaz, Editpad > Exporter > Unix)
<Directory />
AuthUserFile /etc/httpd/passwd
AuthGroupFile /etc/httpd/group
Options -FollowSymLinks
AllowOverride None
</Directory>
Komutlar
// yorum satırı
$ değişken belirteci
$a . $b �* Concat(a, b)
<? php $string='merhaba'; ?>
<? php echo $string ?>
Özel karakterlerin önüne kesme işareti konur
\' : apostrof ekler
If
if (koşul) { ... } else { ... }
if (koşul1) { ... } elseif (koşul2) { ... } else { ... }
if ($not == 3) { ... } else { ... }
$boyut = ($oda>4 ? "buyuk" : "kucuk");
$durum = ($not > 44 ? "geçti" : "kaldı");
if(isset($degisken_ismi)) { ... }
Switch
switch ( değişken_adı )
{
case bir:
komutlar; break;
case iki:
komutlar; break;
default:
komutlar; break;
}
Örnek
switch ($siralamabicimi)
{
case 'order by soyadi asc' : $siralamabicimi = 'Soyadına göre alfabetik';
break;
case 'order by soyadi desc' : $siralamabicimi = 'Soyadına göre ters alfabetik';
break;
case 'order by okul_no asc' : $siralamabicimi = 'Okul numarasına göre küçükten büyüğe';
break;
case 'order by okul_no desc' : $siralamabicimi = 'Okul numarasına göre büyükten küçüğe';
break;
}
For
for ($a=0; $a<10; $a++) { komutlar };
While
$a=0;
while ($a<7) :
echo "a = $a
"
$a++;
endwhile;
Do
Do { echo "a = $a
"; $a++; } while ($a<7);
Php komutu içinde bir şey yazmak için Echo değil Print komutu kullanılır
Echo 'ls *.php3'; Linux komutlarını çalıştırır
Array (diziler string elemanlar olarak tanımlanabilir !)
$dizi=array(
'orta3'=>80,
'lise1'=>238);
$dizi['orta3']=80;
$dizi['lise1']=238;
2 boyutlu dizi
$dizi=array(
'bir' => array(
'a' => '...')
);
Fonksiyon nasıl yaratılır ?
<? php
function alan($yaricap)
{
return(3.14*($ yaricap)*( $ yaricap); // geriye dönen değer
$alan = alan(5);
echo "Alan = $alan.
";
}
?>
<? php
function power($taban,$us)
{
if($us) { return $taban*power($taban,$us-1); }
return 1;
}
?>
Sayaç değişkeni deneme fonksiyonu dışında da tanımlı
<? php
function deneme()
{
global $sayac;
...;
}
?>
Sayaç her seferinde 0’dan başlar çünkü aksi belirtilmemiş
<? php
function sayac()
{
$say = 0;
++$say;
}
?>
Sayaç sadece ilk seferde 0’dan başlar çünkü static ile değerini koruması söylenmiş
<? php
function sayac()
{
static $say = 0;
++$say;
}
?>
Bazı fonksiyonlar
$Http_user_agent : gezgin’i belirtir
$ip = getHostByAddr($remote_addr) : hostname’i verir
$remote_addr : ip adresi verir
$gonder = mail($kime, $konu, $mesaj, $baslik);
Dosya İşlemleri
if (file_exists("c:/1-web/my/sifreler.txt")) { unlink("c:/1-web/my/sifreler.txt"); }
Dosya varsa siler
http://www.sj.k12.tr/html/konu/php/tr/php.htmlSaygıLar...