Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, 19-21 Aralık 2002 Hidayet Doğan.

Benzer bir sunumlar


... konulu sunumlar: "PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, 19-21 Aralık 2002 Hidayet Doğan."— Sunum transkripti:

1 PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, 19-21 Aralık 2002 Hidayet Doğan

2 PHP 4’ün Yenilikleri I. empty(“0”) II. Metin İçine Değişken Yapıştırma III. print_r() IV. Dizi Fonskiyonları V. Dosya ve Dizin Fonksiyonları VI. Metin (String) Fonksiyonları

3 I. empty(“0”) <? $veri = “0”; if (empty($veri)) echo “boş”; else echo “dolu”; ?> PHP 4 Çıktısı: boş PHP 3 Çıktısı: dolu Verilen parametredeki değerin boş olup olmadığını döndürür. Boş ise TRUE, değilse FALSE değeri döner.

4 II. Metin İçine Değişken Yapıştırma Diziler (Tek veya çok boyutlu) Sınıflar PHP 3: “metin metin”. $dizi[0][“isim”]. “metin metin” PHP 4: “metin metin {$dizi[0][“isim”]} metin metin” UYARI: PHP 3’e göre hazırlanmış betiklerin PHP 4 üzerinde düzgün bir biçimde çalışması için betik içindeki {$ içeren yerleri \{$ olarak düzeltin.

5 III. print_r() (PHP 4 ile) Parametrede verilen değişkene ait bilgileri okunabilir bir şekilde gösterir. Eğer girilen değişken metin veya sayı gibi basit bir değişken ise değerin kendisi gösterilir. Dizi, sınıf gibi karmaşık bir değişken ise içinde barındırdıkları verilerle birlikte formatlanmış şekilde gösterir. Genelde betikler içinde, yazılan kodların doğruluğunun kontrol etmesi amacıyla kullanılır (DEBUG).

6 <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); $metin = “Türkiye PHP Grubu”; $sayi = 15234; echo “ ”; print_r($dizi); print_r($metin); print_r($sayı); echo “ ”; ?> III. print_r() (PHP 4 ile)

7 Çıktısı: Array ( [bir] => PHP [iki] => HTML ) Türkiye PHP Grubu 15234 III. print_r() (PHP 4 ile)

8 IV. Dizi Fonksiyonları a.in_array() (PHP 4 ile) b.array_search() (PHP 4.0.5 ile) c.array_key_exists() / key_exists() (PHP 4.0.6 ile) d.explode() 3. Parametresi (PHP 4.0.1 ile)

9 IV-a. in_array() (PHP 4 ile) Eskiden... <? $dizi = array(“PHP”, “HTML”, “XML”); for ($i = 0; $i < count($dizi); $i++) { if (“PHP” == $dizi[$i])) echo “var”; else echo “yok”; } ?> for döngüsü while döngüsü

10 IV-a. in_array() (PHP 4 ile) <? $dizi = array(“PHP”, “HTML”, “XML”); if (in_array(“PHP”, $dizi)) echo “var”; else echo “yok”; ?> Birinci parametredeki değeri ikinci parametredeki dizi elemanları değerleri içinde arar. Eğer aranan değer bulunursa TRUE, bulunamaz ise FALSE değeri döner. Çıktısı: var

11 IV-a. in_array() (PHP 4 ile) Eğer üçüncü parametre değeri TRUE olarak verilirse, arama sadece birinci parametredeki değerin veri tipi ile eşit olan elemanlar arasında yapılır. <? $dizi = array(“metin”, 27, 12, 65); if (in_array(“27”, $dizi, TRUE)) echo “27 (metin) bulundu”; if (in_array(65, $dizi, TRUE)) echo “65 (sayı) bulundu”; ?> Çıktısı: 65 (sayı) bulundu

12 IV-b. array_search() (PHP 4.0.5 ile) in_array() fonksiyonu ile neredeyse aynı olup, eğer verilen değer bulunursa TRUE değeri yerine, bulduğu değere ait anahtarı (eleman ismini) döndürür. <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); echo array_search(“PHP”, $dizi); ?> Çıktısı: bir

13 Eskiden... <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); while (list($anahtar, $değer) = each($dizi)) { if (“bir” == $anahtar) echo “var”; else echo “yok”; } ?> IV-c. array_key_exists() (PHP 4.0.6 ile)

14 Birinci parametredeki değeri ikinci parametredeki dizi anahtarları (eleman isimleri) içinde arar. Eğer aranan değer bulunursa TRUE, bulunamaz ise FALSE değeri döner. <? $dizi = array(“bir” => “PHP”, “iki” => “HTML”); if (array_key_exists(“bir”, $dizi)) echo “var”; else echo “yok”; ?> Çıktısı: var

15 IV-c. array_key_exists() (PHP 4.0.6 ile) UYARI: Bu fonksiyonun ismi PHP 4.0.6 sürümünde key_exists() olarak geçmektedir.

16 IV-d. explode() 3. Parametresi (PHP 4.0.1 ile) İkinci parametredeki metni birinci parametrede verilen ayraç ile parçalayıp dizi halinde döndürür. Eğer ayraç boş ise FALSE değeri döner. Eğer ayraç metin içinde bulunmazsa tüm metin tek elemanlı bir dizi olarak döner. <? $metin = “bir iki üç dört beş”; $dizi = explode(“ “, $metin); echo $dizi[0].” ”; echo $dizi[1]; ?> Çıktısı: bir iki

17 IV-d. explode() 3. Parametresi (PHP 4.0.1 ile) Üçüncü parametre olan limit parametresine bir sayı verildiğinde, ikinci parametrede verilen metni sadece o sayı kadar parçalar. <? $metin = “bir iki üç dört beş”; $dizi = explode(“ “, $metin, 2); echo $dizi[0].” ”; echo $dizi[1].; ?> Çıktısı: bir İki üç dört beş

18 IV. Dizi Fonksiyonları Dizi fonksiyonlarının neredeyse yarısı PHP 4 ile gelmiştir. Geriye kalan fonksiyonların ise yine yarısı üzerinde yenilikler yapılmıştır. Yeni dizi fonksiyonlarından birkaç tanesi: array_count_values() array_merge() array_rand() array_slice() array_unique()

19 V. Dosya ve Dizin Fonksiyonları a.getcwd() (PHP 4 ile) b.disk_free_space() (PHP 4.1.0 ile) c.disk_total_space() (PHP 4.1.0 ile) d.move_uploaded_file() (PHP 4.0.3 ile) e.parse_ini_file() (PHP 4 ile) f.pathinfo() (PHP 4.0.3 ile) g.realpath() (PHP 4 ile)

20 V-a. getcwd() (PHP 4 ile) O an çalışılan dizinin tam yolunu metin olarak döner. <? echo getcwd(); ?> Çıktısı: /usr/local/httpd/htdocs C:\Program Files\Apache Group\Apache\htdocs

21 V-b. disk_free_space() (PHP 4.1.0 ile) Parametrede verilen dizine ait bölümdeki boş alanı bayt cinsinden döner. Eğer yanış bir dizin verilirse boş döner. <? echo disk_free_space(“.”); ?> Çıktısı: 145323081 UYARI: Windows işletim sistemi üzerinde her zaman boş dönmektedir. diskfreespace() fonksiyonu bu fonksiyonun kısa yoludur.

22 V-c. disk_total_space() (PHP 4.1.0 ile) Parametrede verilen dizine ait bölümdeki alanın büyüklüğünü bayt cinsinden döner. Eğer yanış bir dizin verilirse boş döner. <? echo disk_total_space(“.”); ?> Çıktısı: 4072980480 UYARI: Windows işletim sistemi üzerinde her zaman boş dönmektedir.

23 V-d. move_uploaded_file() (PHP 4.0.3 ile) PHP ile sunucuya yüklediğiniz dosyaları başka bir dizine ve başka bir isimle taşımanızı sağlar. Birinci parametresine yüklenen dosya adı, ikinci parametresine ise taşınacak dizin ve yeni dosya adı verilir. <form method=“post” action=“yukle.php” enctype=“multipart/form-data”> Dosya:

24 V-d. move_uploaded_file() (PHP 4.0.3 ile) <? # yukle.php echo “Önceki Dosya: $dosya ”; if (move_uploaded_file($dosya, getcwd().”/dosya.txt”)) echo “Yüklendi”; else echo “Hata!”; ?> Çıktısı: Önceki Dosya: /tmp/phpxujllN Yüklendi

25 V-d. move_uploaded_file() (PHP 4.0.3 ile) Eğer $dosya değişkeninde verilen dosya PHP kullanarak yüklediğimiz bir dosya olmasaydı (sistem üzerindeki herhangi bir dosya olabilir) fonksiyon FALSE değerini dönerdi ve çıktı Yüklendi yerine Hata! olurdu. Dosyamız PHP ile yüklenmiş doğru bir dosya ve sistemde oluşan herhangi bir hata yüzünden taşınamıyor olsaydı yine FALSE değerini döner ve PHP ek olarak bir hata verirdi. UYARI: Taşınacak yerde aynı isimde bir dosya varsa yeni dosyayı üstüne yazar.

26 V-e. parse_ini_file() (PHP 4 ile) Birinci parametrede verilen ayar (ini) dosyasını yorumlar ve dizi olarak döndürür. Eğer verilen dosya bulunamıyor veya açılamıyor ise betik hata verir ve çalışma sonlanır. İkinci parametrede ise dosya içindeki bölümleri yorumlayıp yorumlamıyacağı belirtilir. TRUE değeri verilirse bölümleri Yorumlayıp verileri çok boyutlu bir dizi olarak döner. FALSE verilirse – ikinci parametre verilmediğinde FALSE olarak atanmaktadır – veriler tek boyutlu bir dizi olarak döner.

27 V-e. parse_ini_file() (PHP 4 ile) ; Örnek ayar dosyası (ornek.ini) [ilk_bolum] bir = 1 bes = 5 [ikinci_bolum] yol = /usr/local/httpd/htdocs url = “http://localhost/~test” UYARI: Eğer veri içinde alfanumerik karakterler dışında bir karakter kullanılacaksa mutlaka çift tırnak (“) arasına alınmalıdır.

28 V-e. parse_ini_file() (PHP 4 ile) <? # yorumla.php echo “ ”; $dizi = parse_ini_file(“ornek.ini”); print_r($dizi); $dizi = parse_ini_file(“ornek.ini”, TRUE); print_r($dizi); echo “ ”; ?>

29 V-e. parse_ini_file() (PHP 4 ile) 1. Çıktısı: Array ( [bir] => 1 [bes] => 5 [yol] = /usr/local/httpd/htdocs [url] = http://localhost/~test )

30 V-e. parse_ini_file() (PHP 4 ile) 2. Çıktısı: Array ( [ilk_bolum] => Array ( [bir] => 1 [bes] => 5 ) [ikinci_bolum] => Array ( [yol] = /usr/local/httpd/htdocs [url] = http://localhost/~test )

31 V-f. pathinfo() (PHP 4.0.3 ile) Parametrede verilen yola (path) ait dizin adı, dosya ismi ve dosya uzantısı bilgilerini dizi olarak döner. <? $bilgi = pathinfo(“/usr/local/httpd/htdocs/test.html”); echo $bilgi[“dirname”].” ”; echo $bilgi[“basename”].” ”; echo $bilgi[“extension”]; ?> UYARI: Verilen yolun doğruluğunu kontrol etmez.

32 V-f. pathinfo() (PHP 4.0.3 ile) Çıktısı: /usr/local/httpd/htdocs test.html html

33 V-g. realpath() (PHP 4 ile) Parametrede verilen dizin veya dosyanın ya da her ikisinin gerçek ve düzenlenmiş halini döner. Verilen dosya veya dizin açılamaz veya bulunamazsa FALSE değerini döndürür. <? echo getcwd().” ”; echo realpath(“../..//../test.html”); ?> Çıktısı: /usr/local/httpd/htdocs/bir/iki/uc /usr/local/httpd/htdocs/test.html

34 V. Dosya ve Dizin Fonksiyonları Diğer yeni dosya fonksiyonları: fscanf() ftruncate()

35 VI. Metin (String) Fonksiyonları a.str_repeat() (PHP 4 ile) b.str_pad() (PHP 4 ile) c.substr_count() (PHP 4 ile)

36 VI-a. str_repeat() (PHP 4 ile) Birinci parametredeki metni, ikinci parametrede verilen sayı kadar çoğaltır ve döner. Eğer ikinci parametrede 0 ise boş metin döner. 0’dan küçük ise hata oluşur ve çalışma sonlanır. <? echo str_pad(“-=”, 10); ?> Çıktısı: -=-=-=-=-=-=-=-=-=-=

37 VI-b. str_pad() (PHP 4 ile) Birinci parametredeki metnin soluna, sağına veya her iki tarafına, istenilen boyuta ulaşana kadar üçüncü parametredeki metni ekler. Eğer üçüncü parametre verilmez ise yerine boşluk karakteri atanır. Dördüncü parametrede hangi yöne eklenmesi gerektiği belirtilir. Bu parametreye: STR_PAD_LEFT (sadece sola ekle) STR_PAD_RIGHT (sadece sağa ekle) STR_PAD_BOTH (her iki yöne ekle) değerlerini verebiliriz. Eğer bu parametre verilmez ise yerine STR_PAD_RIGHT değeri atanır.

38 VI-b. str_pad() (PHP 4 ile) <? echo “\””.str_pad(“PHP”, 10).“\” ”; echo “\””.str_pad(“PHP”, 10, “-=”, STR_PAD_LEFT).“\” ”; echo “\””.str_pad(“PHP”, 10, “_”, STR_PAD_BOTH). “\”; ?> UYARI: İkinci parametre negatif bir sayı veya verilen metnin uzunluğundan küçük bir sayı ise hiçbir değişiklik olmadan birinci parametredeki metin döner.

39 VI-b. str_pad() (PHP 4 ile) Çıktısı: "PHP " "-=-=-=-PHP" "___PHP____"

40 VI-c. substr_count() (PHP 4 ile) Birinci parametredeki metnin içinde ikinci parametredeki metnin kaç defa kullanıldığını döner. <? echo substr_count(“Bu bir örnek”, “r”); ?> Çıktısı: 2

41 VI. Metin (String) Fonksiyonları Yeni metin fonksiyonlarından birkaç tanesi: sscanf() wordwrap()

42 Unutulmaması Gereken... PHP 4.1.0 sürümü ile birlikte: $HTTP_POST_VARS= $_POST $HTTP_GET_VARS= $_GET $HTTP_COOKIE_VARS= $_COOKIE $HTTP_SESSION_VARS= $_SESSION $HTTP_SERVER_VARS= $_SERVER $HTTP_ENV_VARS= $_ENV $HTTP_POST_FILES= $_FILES PHP 4.2.0 kurulumunda register_globals = off


"PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, 19-21 Aralık 2002 Hidayet Doğan." indir ppt

Benzer bir sunumlar


Google Reklamları