PHP ile Programlama (I/III)

Benzer belgeler
İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

1.PROGRAMLAMAYA GİRİŞ

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Bölüm 10: PHP ile Veritabanı Uygulamaları

Öğr. Gör. Serkan AKSU 1

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

İnternet Programcılığı Dersi 2.Dönem Ders Notu

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

PHP 1. Hafta 1. Sunum

Internet Programming II

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

PHP nin Tarihi. PHP ile başka neler yapılabilir?

PHP Nedir? PHP de Temel Sözdizimi (Syntax)

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

WEB PROGRAMLAMA. PHP Temelleri. Dr. Erman Yükseltürk

JAVASCRIPT JAVASCRIPT DİLİ

Neden PHP? Tasarımcı, şirket ve kullanıcı gözüyle. 10 Ekim 2005 / DEÜ DESEM Seval ÖZBALCI 1

C PROGRAMLAMA DİLİNE GİRİŞ

Programlama Dillerinde Kullanılan Veri Tipleri

Eln 1001 Bilgisayar Programlama I

C Programlama printf() Fonksiyonu

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

C Programlama Dilininin Basit Yapıları

Temel Giriş/Çıkış Fonksiyonları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

İnternet Programcılığı Öğr. Gör. Serkan AKSU Statik ve Dinamik Web Siteleri. Dinamik Web Sitesi Nedir?

HSancak Nesne Tabanlı Programlama I Ders Notları

PHP ye Giriş. Hidayet Doğan

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı

İNTERNET PROGRAMCILIĞI - II

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Internet Programming II

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

PROGRAMLAMAYA GİRİŞ DERS 2

çindekiler 01. Kurulum

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Göstericiler (Pointers)

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

Pointer Kavramı. Veri Yapıları

PHP 1. Hafta 2.Sunum

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

C PROGRAMLAMA D İ L İ

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

YZM 2105 Nesneye Yönelik Programlama

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

08220 Internet Programcılığı II

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

PHP 2. Hafta. PHP de Kod Akışı. Algoritmik Düşünebilmek.

Veri Tabanı-I 1.Hafta

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

HSancak Nesne Tabanlı Programlama I Ders Notları

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Internet Programming II

PHP Programlamaya Giriş

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Programlama Yazılımı ile Web Sitesi Oluşturma

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

C Konsol Giriş Çıkış Fonksiyonları

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

11- FONKSİYONLAR (FUNCTIONS)

1 PROGRAMLAMAYA GİRİŞ

8. İŞARETCİLER (POINTERS)

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Nesne Yönelimli Programlama

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Üst Düzey Programlama

Sınav tarihi : Süre : 60 dak.

1 JAVASCRIPT NEDİR? 1

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Veritabanı Uygulamaları Tasarımı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

WEB PROGRAMLAMA DİLLERİNİN PERFORMANS ANALİZİ PERFORMANCE ANALYSIS OF WEB PROGRAM LANGUAGE

Linux'ta Kabuk ve Kabuk Programlama

ELN1001 BİLGİSAYAR PROGRAMLAMA I

Diziler İndisli Değişkenler

Eln 1002 Bilgisayar Programlama II

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Linux Assembly Programlamaya Giriş

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

Transkript:

PHP ile Programlama (I/III) Araş. Gör. Sanem SARIEL sariel@cs.itu.edu.tr http://www.cs.itu.edu.tr/~sariel/vtys/ 1 PHP (Hypertext Preprocessor) PHP : Hiper-metin önişlemcisi (Hypertext Preprocessor) PHP bir CGI programlama dilidir. PHP HTML içinde yorumlanan bir script dildir. PHP yorumcusu: Zend- çekirdeği Scripting yöntemiyle yazılmıştır. 2 1

Neden HTML Değil? Html ile web sunucusunda veritabanı dosyası açıp sorgulama yapılamaz. Html ile web sunucusunda sabit diskteki dosyalar okunamaz ve bu dosyalara yazılamaz. Html ile kullanıcıdan bilgi alınabilir ve sunucuya bilgi yollanabilir. Bu bilgi nasıl işlenecek? => exe,dll veya JSP gibi bir program veya Perl, ASP ve PHP gibi Script dilleriyle yazılmış bir program 3 PHP Kodu Çağırma Yöntemi Sunucuda yürütülecek olan bir PHP kodu.php uzantılı bir dosyada HTML kodu arasında tutulur. Dosya içinde PHP kodu özel ayraçlar arasında bulunmaktadır ve yorumlayıcı tarafından yorumlandıktan sonra tarayıcıya aktarılmalıdır. Örn: <html> <?PHP echo( Bu bir PHP alanıdır. )?> </html> Kullanıcıya sonuç aktarılacaksa bunlar html etiketleri ile yollanır. Kullanıcı PHP kodlarını görmez. 4 2

PHP Nasıl Çalışır? Kullanıcı tarayıcısı CGI sayfası için bir HTTP isteği yaratır Sunucudaki konfigürasyona göre sunucu, dosya uzantısına bakarak CGI isteğinin statik olmadığını ve bir HTML dokumanı içindeki PHP kodunun yürütülmek istendiğini anlar. PHP kodunu yorumlayacak olan modül apache ye veya belleğe dinamik olarak bağlanmıştır ve sayfayı yorumlamak üzere çağrılır. PHP modülü sayfa içeriğini tarar ve yorumlar. Script in stdout u apache ye yollanır. PHP modülü çıktısı başlık bilgisi ile tarayıcıya yollanır. 5 PHP x Perl PHP de CGI Perl de olduğu gibi sunucu tarafında farklı prosesleri canladırma gereksinimi yoktur. Zaten bellekte olan yorumlayıcı çalışır. PHP Apache modül olarak apache iç yapılarına erişimi vardır (authentication, authority, yeniden yönlendirme vs.) Perl ile tüm statik HTML çıktıları print ifadeleri ile ; PHP ile yorumlanmadan doğrudan çıkışa aktarılır. Perl ün CPAN kütüphanesinin fonksiyonelliği oldukça yüksektir. PHP C ye Perl den daha çok benzer. (Herşey fonksiyon) 6 3

PHP nin Yetenekleri Herhangi bir CGI programının yapabileceği herşeyi yapar. Form verisi alma Dinamik sayfa içeriği oluşturma Cookie alma ve yollama Veritabanı erişimli bir web sayfası hazırlamada büyük kolaylık sağlar. Desteklenen veritabanları: Adabas D, InterBase, Solid, dbase, msql, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL Desteklenen protokoller: IMAP, SNMP, NNTP, POP3, or even HTTP Socket açıp diğer protokoller ile etkileşime destek verir. 7 PHP Dili (Giriş) 8 4

Html Dökümanı İçine PHP Kodu Yazma HTML dokumanı içinde basit Bir PHP kodu: <HTML> <HEAD><TITLE>What time is it?</title></head> <BODY> The time is now <?php print(date("d/m/y H:i:s",time()));?> </BODY> </HTML> time.php 9 Html Dökümanı İçine PHP Kodu Yazma <?php echo Deneme";?> <? echo "Deneme"?> <SCRIPT LANGUAGE= PHP > </SCRIPT> echo Deneme ; 10 5

PHP Kodları <?PHPinfo()?> ile kullanılan PHP dili versiyonu ve özellikleri öğrenilebilir. Açıklama satırları /* Çok satırlı açıklama*/ // Tek satırlık açıklama # Tek satırlık açıklama 11 PHP Değişkenleri PHP de desteklenen veri tipleri: Kayan Noktalı Sayılar (floating-point numbers) Tamsayılar (integers) Karakter katarları (strings) Diziler (arrays) Nesneler(objects) PHP değişken tipleri programcı tarafından belirlenmez.! Yürütme zamanında değişkenin kullanıldığı bağlama göre belirlenir. Bir değişkenin tipi özel olarak belirtilmek isteniyorsa, cast /Settype() 12 6

PHP Değişkenleri / Integer+Double Integer $a = 1234; # onluk sayı $a = -123; # negatif onluk sayı $a = 0123; # sekizlik (octal) sayı octal number (onluk karşılığı: 83) $a = 0x12; # onaltılık (hexadecimal) sayı (onluk karşılığı: 18) Floating point number $a = 1.234; $a = 1.2e3; 13 PHP Değişkenleri / String String ataması: $str= atanan karakterler $degisken, değişken değerleri; $str= atanan karakterler $degisken, değişken adları; string bitiştirme: $str= $str. eklenen string ; $str.= eklenen string string karakteri $str[i] string içeriğinde., e, E içeriyorsa reel sayı olarak tanımlanır. Aksi takdirde tamsayı olarak algılanır. Eğer string ilk bölümü tamsayı ise bu değer kullanılır. Aksi takdirde değeri 0 olarak alınır. string.php 14 7

PHP Değişkenleri / Array Tek Boyutlu Diziler Dizi işaretçisi ile atama $a[0] = ilkeleman"; $a[1] = "ikincieleman"; Diziye ekleyerek atama $b[] = ilkeleman"; // $b[0] == "ilkeleman" $b[] = "ikincieleman"; // $b[1] == "ikincieleman" Çok Boyutlu Diziler $c[] = "12"; Hem string dizisi hem de karakter dizisi olarak tanımlanır. $d="12"; array1.php 15 PHP Değişkenleri / Array İlişkili Dizi (Associative Array/Hash) $dizi=array( Ad1, Ad2, Ad3 ); $dizi= array(array(ad=> Ad1,soyad=> Soyad1,not=>25), array(ad=> Ad2,soyad=> Soyad2,not=>75 )); array2.php 16 8

PHP Değişkenleri / Nesne <html> <? class newanimal { function initialize () { echo I m the new animal initialized."; } } $cat = new newanimal; $cat->initialize();?> </html> object.php Çıktı: I m the new animal initialized. 17 PHP Değişkenleri Büyük/küçük harf ayrımı var. Değer ile atama Değişkenler üzerinde yapılan değişiklik sadece ilgili değişkeni değiştirir. Referans ile atama Yapılan değişiklik tüm değişkenleri değiştirir (C deki işaretçi mantığı). &$değişken Sadece değişkenlere referans ataması yapılabilir. variables.php 18 9

PHP Değişkenleri Değişken Tanım Alanı $a = 1; $b = 2; Function Sum () { $b = $a + $b; } Sum (); echo $b; global $a, $b; Global değişkenleri fonksiyon içinde kullanabilmek için fonksiyon içinde global tanımlaması yapılır. $GLOBALS dizisi kullanarak erişim variablescope.php 19 PHP Değişkenleri Statik değişkenler Yerel değişken olarak tanımlanmış olsalar da değerlerini korurlar. Rekürsif fonksiyonlarda kullanılabilir. Function RecIncrement() { $count = 0; Static olarak tanımlanmalı $count++; echo $count; if ($count < 10) {RecIncrement();} } RecIncrement(); recincrement.php 20 10

PHP Değişkenleri Değişkenlerin değişken ismi olması: $$a; Diziler için karışıklığı önlemek üzere: ${$a[1]}; $$a[1]; Sabitleri tanımlama: define( <sabitadı>,<sabitdeğeri>); define( pi,3.14); 21 Tip Değişimi (Casting) C formatı tip değişimi (int), (integer) integer a dönüştürme (real), (double), (float) double a dönüştürme (string) string e dönüştürme (array) array a dönüştürme (object) object e dönüştürme $a = (int) $a // a önce double olarak tanımlanmış olsun. settype() ile değişken tip, değiştirilebilir. settype(<değişken adı>,<yeni tip>) cast.php 22 11

İşlemler Yürütme işlemi.. shell komutu şeklinde yürütülür. <?php $output = `ls -al`; echo "<pre>$output</pre>";?> Temel işlemlere ilişkin bilgiler ekler bölümündedir. index.php expression.php 23 Program Denetimi If-else if (expr) Statement else if (expr) Statement else Statement While while (expr) statement Do-while do statement while (expr) 24 12

Program Denetimi For for (expr1; expr2; expr3) statement Foreach foreach(array_expression as $value) statement foreach(array_expression as $key => $value) statement break Continue Switch switch (variable){ Case <value> statement.. Default statement} foreach.php 25 Fonksiyonlar function <FunctionName> ($arg_1, $arg_2,..., $arg_n) { statements; return $retval; } Değer ile Parametre Aktarımı Referans ile Parametre Aktarımı Fonksiyonun parametre üzerinde değişiklik yapabilmesi sağlanır. Parametre default değerleri function.php 26 13

Kaynaklar http://ucat.ncsi.iisc.ernet.in/phpman/manual. html http://www.thekramers.net/phpdemo/ 27 Ek 1: PHP- MySQL kurulumu http://www.php.net/downloads.php http://www.mysql.com/downloads/index.html Ms-Windows için PWS Linux için Apache sunucu programı: http://www.apache.org/dist/ adresinden apache_1.3.12.tar.gz dosyası Mod_SSL (Güvenli Socket Katmanı), OpenSSL Gcc C derleyicisi bulunmalı (gcc 2.8.1 ve üstü) PHP tek başına yorumlayıcı olarak veya Apache Web sunucusunun bir modülü olarak çalışabilir. MySQL Veritabanı sunucusu 28 14

EK2: PHP Versiyon Sorgulama <HTML> <HEAD><TITLE>PHP Versiyon?</TITLE></HEAD> <BODY> <?PHPinfo()?> </BODY> </HTML> 29 Ek 3: Özel String Karakterleri \n yeni satır \r satır başı \t sekme (tab) \\ backslash \$ dolar işareti \ tek tırnak \" çift tırnak \[0-7]{1,3} Düzenli ifadeye uyan karakter dizisi sekizlik düzende bir karakterdir. \x[0-9a-fa-f]{1,2} Düzenli ifadeye uyan karakter dizisi onaltılık düzende bir karakterdir. 30 15