Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
İnsanlar için PHP
Search
Hidayet Doğan
May 18, 2013
Programming
0
530
İnsanlar için PHP
Karabük Üniversitesi Bilişim Haftası Etkinlikleri
Hidayet Doğan
May 18, 2013
Tweet
Share
More Decks by Hidayet Doğan
See All by Hidayet Doğan
Swoole ile Asenkron PHP
hdogan
0
710
Asenkron PHP
hdogan
0
1.4k
PHP Senfoni Orkestrası: Composer
hdogan
1
400
PHP ile Soket Programlama ve Ağ Servisleri
hdogan
5
4.2k
CakePHP ile Pasta Pişirmek
hdogan
1
850
PHP 101
hdogan
1
720
Web Uygulamalarında Güvenlik
hdogan
1
480
Phalcon - Eklenti olarak sunulan PHP çatısı - PHP Günleri 2013#1
hdogan
5
1.6k
Phalcon - Eklenti olarak sunulan PHP çatısı
hdogan
2
2.2k
Other Decks in Programming
See All in Programming
ACES Meet におけるリリース作業改善の取り組み
fukucheee
0
120
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.1k
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
610
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
890
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
230
Iteratorでページネーションを実現する
sonatard
3
700
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
240
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
160
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
160
Делим тесты между QA и разработчиком
mariyasaygina
0
480
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
3
110
ROS 2のZenoh対応とZenohのROS 2対応
takasehideki
2
250
Featured
See All Featured
Teambox: Starting and Learning
jrom
131
8.7k
RailsConf 2023
tenderlove
28
840
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
230
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Large-scale JavaScript Application Architecture
addyosmani
509
110k
How to Think Like a Performance Engineer
csswizardry
16
1k
How GitHub (no longer) Works
holman
311
140k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Navigating Team Friction
lara
183
14k
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Transcript
İnsanlar için PHP Hidayet Doğan
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 2013 PHP Geliştiricileri Derneği Fotoğraf: Onur Canalp
İnsanlar için PHP Mevcut Durum Tarihçe Genel Bakış Neden? Kaynaklar
Sorular
Mevcut Durum
Mevcut Durum 244 milyon web sitesi* Tüm web sitelerinin %39’u*
Facebook, Wordpress, Yahoo, Baidu, Sahibinden, GittiGidiyor Kariyer: Türkiye: 250 iş ilanı - ABD: 500 iş ilanı** Başvuruların %80’ı red Herkes uzman @?!# * Netcraft (Ocak 2013) ** Mayıs 2013
Uzman Arayan? PHP ASP.NET Java MySQL PostgreSQL Oracle HTML CSS
JavaScript AJAX jQuery PSD to HTML JSON SOAP XML AJAX OOP / MVC Drupal / Joomla
Uzman Arayan? Subversion CVS Git Apache Linux Photoshop Dreamweaver ExtJS
CodeIgniter Yii Framework Zend Framework Memcache Redis Facebook API SEO İngilizce Tecrübe Mantı açsın
Uzman? Zend Certified Engineer: Türkiye: 34 - Almanya: 1078 -
ABD: 1172* Zend Certified Engineer != Uzman * Mayıs 2013
Uzman? İşletim sistemi Web sunucusu Veritabanı sunucusu PHP ayarları HTTP
protokolü Web teknolojileri SQL Güvenlik Analitik düşünme Araştırma Tecrübe
Eğitim Üniversite dersleri (yetersiz) Özel kurslar (gitme!) Kitaplar (yetersiz) İnternet
(Türkçe kaynak az, yanlış- eksik bilgi) İngilizce öğren Kod oku Hata yap Araştır Sor ARakla GEtir
Eğitim Linux Yaz Kampı: 2 hafta (ücretsiz) Akademik Bilişim: 4
gün (ücretsiz) INET-TR - Türkiye’de İnternet Konferansı: 1 gün (ücretsiz)
Tarihçe
Tarihçe 1994 Rasmus Lerdorf (Personel Home Page Tools, FI) 1995
PHP Tools, Personel Home Page Construction Kit 1996 PHP/FI 2.0 1998 PHP: Hypertext Preprocessor (PHP 3) 1998 70000 web sitesi 2000 PHP 4 (Zend Engine) 2004 PHP 5 (Zend Engine 2)
Tarihçe <!--include header.html--> <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result MSIE--> <p>Internet Explorer
kullanmasaydın iyiydi...</p> <!--endif--> <!--include footer.html-->
Tarihçe <?php include ‘header.php’; if (substr($_SERVER[‘HTTP_USER_AGENT’], ‘MSIE’)) { echo ‘<p>Internet
Explorer kullanmasaydın iyiydi...</p>’; } include ‘footer.php’; ?>
Genel Bakış
Genel Bakış Betik dili Açık kaynak Ücretsiz Ögrenim süresi kısa
(basit?)
Genel Bakış Linux, Unix, BSD, OSX, Micro$oft Windows Apache, Nginx,
LigHTTPD, Micro$oft IIS
Veritabanları MySQL PostgreSQL Oracle Micro$oft SQL Server IBM DB2 SQLite
MongoDB CouchDB Cassandra Couchbase Redis Memcache
Genel Bakış 6000 fonksiyon 300 sınıf 80 dahili eklenti 300
eklenti (PECL) 11000 Composer paketi 600 Pear paketi Github (30000 “PHP”)* Google Code (280000 “PHP”)* * Sadece proje ismi içinde
Editörler NetBeans, Sublime Text, Notepad++ Zend Studio, PHPStorm, phpDesigner, Kohana
Editor/IDE TextMate, Coda GNU nano, vi
PaaS - Bulut PHP Cloud - Zend Orchestra - Engine
Yard AppFog Pagodabox Amazon Web Services Google Cloud Platform Micro$oft Azure
Menü 1 adet PHP yorumlayıcı 1 adet web sunucusu Tercihen
1 adet veritabanı sunucusu 1 adet editör
Tablot Menü apt-get install lamp-server^ Zend Server MAMP BitNami MAMP
Stack WampServer XAMPP BitNami WAMP Stack
Merhaba Dünya! <!DOCTYPE html> <html> <body> <?php echo ‘Merhaba Dünya!’;
?> </body> </html>
Bilgisayarlar için PHP (A) 010101000110000101110010011000010111100100111111 011000110011111100100000011101110110010101100010 001000000111001101110101011011100111010101100011 011101010111001101110101011011100110000100100000 011010010111001101110100011001010110101100100000 011001110011111101101110011001000110010101110010
011010010111001000101110
Bilgisayarlar için PHP (A) Tarayıcı web sunucusuna istek gönderir. (B)
Web sunucusu dosyanın varlığını kontrol eder, eğer dosya PHP ise yorumlayıcıya havale eder. (C) PHP yorumlayıcısı dosyayı yorumlar, sonucu web sunucusuna gönderir. (D) Web sunucusu sonucu tarayıcıya gönderir.
Kalkulus 101 <?php $a = 12; $b = 56.5; $c
= $a + $b; echo ‘Sonuç: ’ . $c; ?> <?php $a = 12; $b = 5; $c = $a % $b; echo ‘Sonuç: ’ . $c; ?> <?php $a = 12; $b = 5; $c = ($a - $b) / 2; echo ‘Sonuç: ’ . $c; ?>
Koşullar <?php $maas = 1750; if ($maas < 1000) echo
‘Fakir’; elseif ($maas < 3000) echo ‘Orta direk’; else echo ‘Zengin’; ?>
Fonksiyonlar <?php function selam_soyle($isim) { echo ‘Selam ‘ . $isim;
} ?> <?php selam_soyle(‘Hidayet’); selam_soyle(‘Engür’); selam_soyle(‘Ömer’); ?>
Eğlence <?php $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; ?>
Neden?
Neden? Her yerde var. Mükemmel değil fakat her işi görüyor.
Kendi içinde tutarsız fakat her işi görüyor. Kariyer: PHP geliştirici nesli tükeniyor! Kariyer: 1000 TL - 5000 TL
Kaynaklar
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
Kaynaklar http://www.pgd.org.tr http://ab.org.tr http://inet-tr.org.tr http://kamp.linux.org.tr http://groups.google.com/group/php-egitimleri
Sorular
Teşekkürler! http://hi.do http://github.com/hdogan http://tr.linkedin.com/in/hdogan @hdogan http://speakerdeck.com/hdogan Hidayet Doğan