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
1
750
PHP 101
Hidayet Doğan
February 27, 2014
Tweet
Share
More Decks by Hidayet Doğan
See All by Hidayet Doğan
Swoole ile Asenkron PHP
hdogan
0
800
Asenkron PHP
hdogan
0
1.6k
PHP Senfoni Orkestrası: Composer
hdogan
1
440
PHP ile Soket Programlama ve Ağ Servisleri
hdogan
5
4.4k
CakePHP ile Pasta Pişirmek
hdogan
1
900
Web Uygulamalarında Güvenlik
hdogan
1
510
Phalcon - Eklenti olarak sunulan PHP çatısı - PHP Günleri 2013#1
hdogan
5
1.7k
İnsanlar için PHP
hdogan
0
560
Phalcon - Eklenti olarak sunulan PHP çatısı
hdogan
2
2.4k
Other Decks in Programming
See All in Programming
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
rack-attack gemによるリクエスト制限の失敗と学び
pndcat
0
250
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.6k
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
430
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
3.9k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
840
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
410
Basic Architectures
denyspoltorak
0
610
AIエージェントの設計で注意するべきポイント6選
har1101
6
3.3k
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Implementation Patterns
denyspoltorak
0
260
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
170
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
150
Embracing the Ebb and Flow
colly
88
5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Ruling the World: When Life Gets Gamed
codingconduct
0
130
Between Models and Reality
mayunak
1
170
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
260
A Tale of Four Properties
chriscoyier
162
24k
Skip the Path - Find Your Career Trail
mkilby
0
45
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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