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
PHP 101
Search
Hidayet Doğan
February 27, 2014
Programming
770
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP 101
Hidayet Doğan
February 27, 2014
More Decks by Hidayet Doğan
See All by Hidayet Doğan
Swoole ile Asenkron PHP
hdogan
0
840
Asenkron PHP
hdogan
0
1.6k
PHP Senfoni Orkestrası: Composer
hdogan
1
460
PHP ile Soket Programlama ve Ağ Servisleri
hdogan
5
4.4k
CakePHP ile Pasta Pişirmek
hdogan
1
910
Web Uygulamalarında Güvenlik
hdogan
1
540
Phalcon - Eklenti olarak sunulan PHP çatısı - PHP Günleri 2013#1
hdogan
5
1.7k
İnsanlar için PHP
hdogan
0
580
Phalcon - Eklenti olarak sunulan PHP çatısı
hdogan
2
2.5k
Other Decks in Programming
See All in Programming
Cloudflare is Agents
chimame
0
180
Dockerfile CMD for Node.js
grazie1999
0
140
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
260
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
660
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
3.8k
React本体のコードリーディング
high_g_engineer
1
160
高専キャリア LT 発表内容
crysta1221
4
4.2k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
520
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
240
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2.3k
My Marp Sample
sinoue0108
0
130
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
500
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Crafting Experiences
bethany
1
270
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Transcript
PHP 101 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 Fotoğraf: Onur Canalp
PHP 101 Nedir? Tarihçe Neden? Giriş Çatılar (Framework) Kaynaklar Sorular
Nedir?
Nedir? Betik Dili (Scripting Language) Sunucu Taraflı (Server Side) HTML
İçine Gömülebilir (HTML Embedded) Açık Kaynak
Tarihçe
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)
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
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’; ?>
Neden?
Neden? Kariyer: 170 ilan*, 1500-8000 TL maaş Binlerce hazır fonksiyon,
eklenti, kütüphane Yaygınlık * Şubat 2014
Giriş
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
Tablot Menü apt-get install lamp-server^ Zend Server MAMP BitNami MAMP
Stack WampServer XAMPP BitNami WAMP Stack
Kurallar • <?php ile başlar ?> ile biter. • İfadeler
; ile bitirilir.
Değişkenler $ ile başlar. Harf veya _ ile başlar. Büyük,
küçük harfe duyarlı. = ile atanır. $php
Değişkenler Sayılar (Integers), Ondalıklı Sayılar (Float/Double) Metinler (Strings) Diziler (Arrays)
Nesneler (Objects)
Sayılar ve Metinler <?php $yas = 20; $borc = 72.5;
$isim = ‘Ahmet’; $isim = “Mehmet”; ?>
Diziler <?php $notlar = array(30, 40, 27, 60); $notlar =
[30, 40, 27, 60]; $notlar = array(’vize’ => 30, ’final’ => 60); $notlar = [’vize’ => 30, ’final’ => 60]; ?>
Sınıflar <?php class Ogrenci { public $isim; protected $puan; private
$para; } ?> <?php $ahmet = new Ogrenci(); $ahmet->isim = ‘Ahmet’; ?>
Kalkulus 101 <?php $a = 12; $b = 56.5; $c
= $a + $b; ?> <?php $a = 12; $b = 5; $c = $a % $b; ?> <?php $a = 12; $b = 5; $c = ($a - $b) / 2; ?>
Sınama <?php $a = 12; $b = 7; $c =
$a > $b; $c = $a < $b; $c = $a && $b; $c = $a || $b; $c = $a == $b; ?> true false
Koşullar <?php $maas = 1750; if ($maas < 1000) {
echo ‘Fakir’; } elseif ($maas < 3000) { echo ‘Orta direk’; } else { echo ‘Zengin’; ?> <?php $dil = 1; switch ($dil) { case 1: echo ‘Türkçe’; break; default: echo ‘Diğer’; break; } ?>
Fonksiyonlar <?php function selam_soyle($isim) { echo ‘Selam ‘ . $isim;
} ?> <?php selam_soyle(‘Hidayet’); selam_soyle(‘Ramazan’); selam_soyle(‘Engür’); ?>
Fonksiyonlar <?php function selam_soyle($isim) { return ‘Selam ‘ . $isim;
} ?> <?php echo selam_soyle(‘Hidayet’); echo selam_soyle(‘Ramazan’); echo selam_soyle(‘Engür’); ?>
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; ?>
Çatılar (Framework)
Çatılar (Framework) Laravel Yii Framework Symfony Zend Framework CakePHP Phalcon
(Eklenti)
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://ab.org.tr http://inet-tr.org.tr http://kamp.linux.org.tr http://groups.google.com/group/php-egitimleri http://php-tr.com
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