Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHP 101

PHP 101

Hidayet Doğan

February 27, 2014
Tweet

More Decks by Hidayet Doğan

Other Decks in Programming

Transcript

  1. PHP 101
    Hidayet Doğan

    View Slide

  2. Merhaba!
    1995 Tübitak Bilgisayar Kulubü
    Linux, BASIC, C, Perl
    1998 Merhaba PHP!
    1999 İş Hayatı: Yazılım + Sistem
    2000 İş Hayatı: Yazılım + Yönetim
    Fotoğraf: Onur Canalp

    View Slide

  3. PHP 101
    Nedir?
    Tarihçe
    Neden?
    Giriş
    Çatılar (Framework)
    Kaynaklar
    Sorular

    View Slide

  4. Nedir?

    View Slide

  5. Nedir?
    Betik Dili (Scripting Language)
    Sunucu Taraflı (Server Side)
    HTML İçine Gömülebilir (HTML Embedded)
    Açık Kaynak

    View Slide

  6. Tarihçe

    View Slide

  7. Tarihçe
    1994 Rasmus Lerdorf (Personal Home Page Tools, FI)
    1995 PHP Tools, Personal Home Page Construction Kit
    1996 PHP/FI 2.0
    1998 PHP: Hypertext Preprocessor (PHP 3)
    1998 70.000 web sitesi
    2000 PHP 4 (Zend Engine)

    View Slide

  8. Tarihçe
    2004 PHP 5 (Zend Engine 2)
    2008 PHP 4 geliştirilmesi (desteği) durduruldu.
    2009 PHP 5.3
    2012 PHP 5.4
    2013 PHP 5.5
    2014 250.000.000 web sitesi

    View Slide

  9. Tarihçe



    Internet Explorer kullanmasaydın iyiydi...


    View Slide

  10. Tarihçe
    include ‘header.php’;
    if (substr($_SERVER[‘HTTP_USER_AGENT’], ‘MSIE’)) {
    echo ‘Internet Explorer kullanmasaydın iyiydi...’;
    }
    include ‘footer.php’;
    ?>

    View Slide

  11. Neden?

    View Slide

  12. Neden?
    Kariyer: 170 ilan*, 1500-8000 TL maaş
    Binlerce hazır fonksiyon, eklenti, kütüphane
    Yaygınlık
    * Şubat 2014

    View Slide

  13. Giriş

    View Slide

  14. Menü
    1 adet PHP yorumlayıcı
    1 adet web sunucusu
    Tercihen 1 adet veritabanı sunucusu
    1 adet editör

    View Slide

  15. Tablot Menü
    apt-get install lamp-server^
    Zend Server
    MAMP
    BitNami MAMP Stack
    WampServer
    XAMPP
    BitNami WAMP Stack

    View Slide

  16. Tablot Menü
    apt-get install lamp-server^
    Zend Server
    MAMP
    BitNami MAMP Stack
    WampServer
    XAMPP
    BitNami WAMP Stack

    View Slide

  17. Kurallar
    • ile biter.
    • İfadeler ; ile bitirilir.

    View Slide

  18. Değişkenler
    $ ile başlar.
    Harf veya _ ile başlar.
    Büyük, küçük harfe duyarlı.
    = ile atanır.
    $php

    View Slide

  19. Değişkenler
    Sayılar (Integers), Ondalıklı Sayılar (Float/Double)
    Metinler (Strings)
    Diziler (Arrays)
    Nesneler (Objects)

    View Slide

  20. Sayılar ve Metinler
    $yas = 20;
    $borc = 72.5;
    $isim = ‘Ahmet’;
    $isim = “Mehmet”;
    ?>

    View Slide

  21. Diziler
    $notlar = array(30, 40, 27, 60);
    $notlar = [30, 40, 27, 60];
    $notlar = array(’vize’ => 30, ’final’ => 60);
    $notlar = [’vize’ => 30, ’final’ => 60];
    ?>

    View Slide

  22. Sınıflar
    class Ogrenci {
    public $isim;
    protected $puan;
    private $para;
    }
    ?>
    $ahmet = new Ogrenci();
    $ahmet->isim = ‘Ahmet’;
    ?>

    View Slide

  23. Kalkulus 101
    $a = 12;
    $b = 56.5;
    $c = $a + $b;
    ?>
    $a = 12;
    $b = 5;
    $c = $a % $b;
    ?>
    $a = 12;
    $b = 5;
    $c = ($a - $b) / 2;
    ?>

    View Slide

  24. Sınama
    $a = 12;
    $b = 7;
    $c = $a > $b;
    $c = $a < $b;
    $c = $a && $b;
    $c = $a || $b;
    $c = $a == $b;
    ?>
    true
    false

    View Slide

  25. Koşullar
    $maas = 1750;
    if ($maas < 1000) {
    echo ‘Fakir’;
    } elseif ($maas < 3000) {
    echo ‘Orta direk’;
    } else {
    echo ‘Zengin’;
    ?>
    $dil = 1;
    switch ($dil) {
    case 1:
    echo ‘Türkçe’;
    break;
    default:
    echo ‘Diğer’;
    break;
    }
    ?>

    View Slide

  26. Fonksiyonlar
    function selam_soyle($isim) {
    echo ‘Selam ‘ . $isim;
    }
    ?>
    selam_soyle(‘Hidayet’);
    selam_soyle(‘Ramazan’);
    selam_soyle(‘Engür’);
    ?>

    View Slide

  27. Fonksiyonlar
    function selam_soyle($isim) {
    return ‘Selam ‘ . $isim;
    }
    ?>
    echo selam_soyle(‘Hidayet’);
    echo selam_soyle(‘Ramazan’);
    echo selam_soyle(‘Engür’);
    ?>

    View Slide

  28. Eğlence
    $a = date_sunrise(time(), SUNFUNS_RET_STRING, 39.91, 32.85, 90, 3);
    echo ‘Bugün Ankara\’da güneşin doğuş saati: ‘ . $a;
    ?>

    View Slide

  29. Çatılar (Framework)

    View Slide

  30. Çatılar (Framework)
    Laravel
    Yii Framework
    Symfony
    Zend Framework
    CakePHP
    Phalcon (Eklenti)

    View Slide

  31. Kaynaklar

    View Slide

  32. Kaynaklar
    http://php.net
    http://www.phptherightway.com
    http://www.planet-php.org
    http://www.reddit.com/r/PHP
    http://phpsecurity.readthedocs.org
    http://packagist.org

    View Slide

  33. Kaynaklar
    http://ab.org.tr
    http://inet-tr.org.tr
    http://kamp.linux.org.tr
    http://groups.google.com/group/php-egitimleri
    http://php-tr.com

    View Slide

  34. Sorular

    View Slide

  35. Teşekkürler!
    http://hi.do
    http://github.com/hdogan
    http://tr.linkedin.com/in/hdogan
    @hdogan
    http://speakerdeck.com/hdogan
    Hidayet Doğan

    View Slide