Bölüm 6 PHP Betik Dili



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

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.

Öğr. Gör. Serkan AKSU 1

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

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

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

JAVASCRIPT JAVASCRIPT DİLİ

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

PHP 1. Hafta 1. Sunum

Bilgisayarda Programlama. Temel Kavramlar

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.

Java Temel Özellikleri

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

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

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

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

İNTERNET PROGRAMCILIĞI - II

Internet Programming II

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

PHP ile İnternet Programlama

08220 Internet Programcılığı II

08217 Internet Programcılığı I Internet Programming I

1.1. Yazılım Geliştirme Süreci

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

HSancak Nesne Tabanlı Programlama I Ders Notları

08220 Internet Programcılığı II

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

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

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

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Internet Programming II

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Algoritmalar ve Programlama. Algoritma

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

PROGRAMLAMAYA GİRİŞ DERS 2

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

4. Bölüm Programlamaya Giriş

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Nesne Yönelimli Programlama

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

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Algoritma ve Akış Diyagramları

Bilgisayar Programlama

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Internet Programming II

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Dr. Fatih AY Tel: fatihay@fatihay.net

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

KANTAR UYGULAMASI Kurulum Kılavuzu

SIMAN KULLANIM KILAVUZU

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

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

HSancak Nesne Tabanlı Programlama I Ders Notları

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Göstericiler (Pointers)

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

HSancak Nesne Tabanlı Programlama I Ders Notları

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

(PWS) gelmektedir. Ancak. Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz.

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA DERSİ

PHP ye Giriş. Hidayet Doğan

YZM 2105 Nesneye Yönelik Programlama

Akış Kontrol Mekanizmaları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

Programlama Dillerinde Kullanılan Veri Tipleri

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

ASP.NET ile Bir Web Sitesi Oluşturma

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

BİLGİSAYAR PROGRAMLAMA DERSİ

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

ALGORİTMA VE PROGRAMLAMA I

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

Üst Düzey Programlama

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

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

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

BÖLÜM 3 OPERAT A ÖRLER

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

FORMÜLLER VE FONKSİYONLAR

Özyineleme (Recursion)

ALGORİTMA VE PROGRAMLAMA I

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

R ile Programlamaya Giriş ve Uygulamalar

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

1 PROGRAMLAMAYA GİRİŞ

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

Transkript:

Bölüm 6 PHP Betik Dili 6.1 Giriş Rasmus Lerdorf tarafından 1990 lı yıllarda öncelikle kendi kişisel web sayfalarını yazmak için geliştirilmesi nedeniyle 'P'ersonal 'H'ome 'P'ages adının kısaltması olarak karşımıza çıkan PHP, HTML gömülü (HTML-embedded) bir script dilidir. özellikle web uygulamaları geliştirenlerin dinamik ve havada (on the fly) üretilen web sayfalarını hızlı bir şekilde yazmaları için düşünülmüştür. Dilin sentaksı gelştirilirken C, Java ve en çok da Perl'den esinlenilmiştir. Bu nedenle bu dillerden her hangi birisini bilen bir kullanıcı için PHP'ye geçmek hiç de zor olmamaktadır. PHP nin çok tutulması üzerine web tasarımcılarının çok ihtiyacı olan, yani form yoluyla ziyaretçiden gelen bilgileri işlemeyi sağlayan eklemeler yapılarak adına PHP/FI (Form Interpreter) adını aldı. Kimileri tarafından programın bu versiyonu PHP2 olarak adlandırıldı. 1995 yılının ortalarında PHP Lerdorf un kurmuş olduğu bir grup tarafından daha da geliştirildi. Bu sefer Perl dilindeki fonksiyonlardan tamamen arındırılmış ve Object Oriented (Nesneye Dayalı) bir dil haline getirildi. Günümüzde PHP4 versiyonu geliştirilmiş durumdadır. PHP dili Linux gibi Açık Kaynak Kodlu bir dildir ve ücretsiz olarak dağıtılmaktadır ve geliştirilmektedir. Linux, Unix, Windows tabanlı işletim sistemlerinde çalışabilen versiyonları mevcuttur. Bir çok kitapta bulunan uygulamaların internet üzerinden temin edilebildiğinden dolayı bu konuda çok fazla örnek verilmeyecektir. 6.2 PHP Nedir PHP bir betik dilidir. Betik dili programlama açısından bakıldığında program kodları değişiklik yapıldığında herhangi bir derleyiciye gerek kalmadan anında yorumlayıcı tarafından işlenrek sonucun görülmesine olanak tanır. Derleyici gerektiren programlama dillerinde yapılan kodl değişikliklerinde sonucu görebilmek için derleyici ile kodlar derlenir ve çalıştırılır. PHP programlama dilinde yazılan kodlar herhangi bir editörde yazılıp.php veya.php3 şeklindeki uzantılı dosya olarak kaydedilir. Daha sonra bu kodları işleyecek bir web 101

sunucu veya PHP derleyici ile çalıştırılırlar. Web sunucuda çalışrıtılacak olan php kodları için web sunucunun php yprumlayıcısının nerede olduğuna dair yer bilgisine ihtiyacı vardır. Microsoft IIS web sunucu için gerkeli olan bir.dll (php4isapi.dll) uzantılı dosyanın web sunucuya tanıtılması ile gerçekleşir. Bu.dll uzantılı dosya web sunucu tarafından.php uzantılı dosyaların çlıştırılması için gerekli olan yorumlayıcı bilgisini tutar. Unix ve Linux sistemlerindeki web sunucusunda ise durum daha farklıdır. Bu tür sistemlerde.php uzantılı dosyaların çalıştırılması için egerekli olan yer bilgisinin verilmesi ve php ortam değişkenlerinin web sunucu için belirlenmesi ile php kodları web sunucu tarafından çalıştırılır.. 6.3 PHP Dosyaları Web Sunucuda Çalıştırılması PHP programlama dilinin bir web sunucusu üzerinde çalıştırılması işleim için.php uzantılı dosyaların web sunucu tarafından tanınmasını sağlayacak gerekli dosyal işlemlerinden önceki bölümde bahsetmiştik. Bu işlemlerden sonra.php uzantılı dosya web sunucuda nasıl çalışır sorusu aklımıza gelmektedir. PHP kodları herhangi bir edtör programnı ile yazıldığı gibi sadece php program kodlarını yazmak için geliştirilmiş php editörleri de vardır. Bir çok programcı bu hazır php ediötlerini kullanmaktadır. PHP ile yazılmış kodları web sunucuda çalıştırmak için web sunucu dizinine kopyalanan.php uzantılı kodlar yorumlayıcı yardımı ile web sunucu tarafından istek gelmesi halinde işlenirler. İnternet üzerinden bir istemci web sunucusu üzerindeki yazılmış olan bu kodlara ulaşır ve bir istek yapar. Oluşan istek web sunucu tarafından işlenir ve gerekli olan php kodları çalıştırılır daha sonra web sunucuya php yorumlayıcı tarafından gönderilen işlenmiş php kodları web sunucu tarafından istemcinini bilgisayarına gönderilir. 6.4 PHP ile Kurallı İfadeler Bütün bilgisayar programlama dillerinde olduğu gibi php betik dilinde program yazmak için komutları kurallara uygun olarak yazmak gerekir. PHP yorumlayıcısı Zend-çekirdeği adı verilen bir betik dili teknolojisi yardımı ile işletim sistemine uyumlu betik dili programları çalıştıran bir teknolojidir. Web sunucular üzerinde php kodları geliştirmek için önce düzenli komut yazım kurallarını gösterir bir php editörüne ihtiyaç vardır. PHP editörleri konusunda internet üzerinde bir çok bedava ve ücretli php kod üretici yazılımlar bulunabilir. Bunlardan birisi 102

http://sourceforge.net/projects/devphp adresinde bulunan php kodlarını geliştirmek için kullanılan php geliştirici çevresi (Php Developer Environment) olarak bilinen programlama geliştirme aracıdır. Bu türden bir çok paylaşımlı projede php kodlarını üretebilir ve geliştirdiğiniz bu kodları denereyerek hangi sonuçları verdğini görebilirsiniz. Web sunucu üzerinde bu tür kodları görebilmenirde mümkündür. Php geliştirici ortamı (PHP_Dev) size bu konuda yardımcı olmaktadır. Bu türden paralı olarak bilinen yazılımların en gelişmişlerinden birisi MacroMedia firmasının DreamWeaver programındır. Bu programda geliştirdğiniz bilgisayar programını gerekli ayarlamalar yaptıktan sonra yazdığınız kodları web sunucunuzun üzerinde anında görebilirsiniz. PHP betik dilini HTML kodları içine gömerek web sunucusunda bir html kodu gibi çalıştırabiliriz. Bunun için html etiketleri içerisinde uygun tanımlamaları yapmalıyız. HTML kodları içerisine bu kodları gömerken dikkat etmemiz gereken en önemli husus html kodlarını çalıştıran web sunucuya bu bir php kodudur mesajını göndermektir. Bu işlem için aşağıdaki şekilde bildirim yapmamaız gerekir. <html> <?php //Yazılacak php komutları (6.1)?> </hmtl> PHP kodları html içerinsinden çalıştırılması için daha önceden gerekli olan ayarlarmaların yapılması gerektiğinden bahsetmiştik. Web sunucusu bu türden komutları gördüğünde yazılacak php komutlarındaki alanları php yorumlayıcısına gönderir ve yorumlayıcıdan gelen sonuçları istemci bilgisayarına gönderir. Windows işletim sistemi platformundaki web sunucularında php.exe yorumlayıcının bulunduğu yerin tanımlanması gerekir. Linux ve unix platformlarında php yorumlayıcısının oluduğu yer ve ortam değişkenleri dikkatlice tanımlanmalıdır. PHP yorumlayıcı dili internet üzerinde web sunucusu programlamada daha fazla kullanılmaktadır. Bu tür web sunucularında işlemler php derleyicisi tarafından işlenerek web sunucusuna gönderilir. Web sunucusu tarafında çalışan bu tür istekler SSI (server Side Include) tekniği olarak ta adlandırılır. İnternet gezgini yazılan bü php programlama kodlarını 103

istek olarak web sunucusuna gönderir ve web sunucusu değişkenlerden bunun bir php programlama kodlarını oluduğunu anlar ve bu kodları yorumlayıcıya gönderir. Daha sonra bu gönderilen kodlar asp kodları gibi php derleycisi tarafından işlenir ve web sunucusuna gönderilir. Web sunucusu işlenen verileri istemcinin bilgisayarına gönderir ve işelem bitmiş olur. Bu işlemin sonucunda kaynak kodları html programlamada olduğu gibi kodlar istemci tarafından görüntülenemez. İstemci sadece sonuçları gördüğünden kaynak görüntüleme şansı yoktur. Bu tür programların bir avantajıda yazmış olduğunuz programlar ve kodları başkaları tarafından görüntülenememektedir. Internet alt yapınız, teknik donanım, vertabanı dosyalarınız ve web sunucusu ile ilgili temel bilgileriniz gizli kalmış olur. Html aynı zamanda web sunucusu üzerinde bulunan veritabanı dosyaları ve ilgili bağlantılar ve bunlar ile ilgili bilgileri istemci bilgisayarında görüntüleme işlemini gerçekleştiremez. Bu işler için web taraflı işlem yapabilen yorumlayıcı dillere ihtiyaç duyulur. Bu türden işlemleri yapılabilmesi için sunucu taraflı dillerin aynı zamanda geliştirilmesi kolay ve güvenilir olması gerekir. C++ gibi bilgisayar programlama dilleri çok güvenli olmasına rağmen geliştiriciler için bazı durumlarda güçlük çıkarmaktadır. Php gibi dillerde bu türden problemler ortadan kaldırılmaktadır. İstemciler web sunucularından her zaman aynı türden ve aynı işletim sisteminden istemde bulunmazlar. Kişisel bilgisayr kullanıcılarının işletim sistemlerinden internet gezginlerine kadar tüm programları farklıdır. Bu farklılıklar istemcilerin web sunuculardan istediği bilgileri ve istem şeklinide değiştirmektedir. Internet gezginleri ortak bir dil olan html yanında diğer istek ve işlemleri gerçekleştirecek web taraflı betik dillerini ortak dil konuşulması açısından da fayda sağlamaktadır. Betik dili açısından bakıldığında geliştirme ve uygulama aşamaları olduş-kça kolaylaşabilir. İstemci tarafından bakıldığında ise bazı betik dillerini bazı internet gezginleri desteklememktedir. Bu tür betik dili desteğinin olmayışı görüntülenecek olan sayfalarda hataların ortaya çıkmasına neden olur. Microsoft VisualBasic script ler mozilla ve mozillar tabanlı (Netscape) gezginlerde görüntülenemektedir. Aynı şekilde Opera internet gezgininde java desteğinin olmayışı da bu tipten sorunların ortaya çıkmasına sebep olmaktadır. 6.5 PHP Windows İşletim Sistemine Kurulumu Windows işletim sisteminde php yorumlayıcısını çalıştırmak için http://www.php.net/downloads.php internet adresinden php yorumlayıcısını sabit diskimize indirip kurabiliriz. Php PHP 5.0.4 zip package adlı dosya içerisinde windows 9X/NT/2K/XP işletim sitemlerinin hepsinde çalışacak şekilde paketlenmiştir. Indirme sayfası bizi bir yansı 104

sayfasında yönlendirecek ve biz buradan kendimize en yakın yansıdan php yorumlayıcısını indirebiliriz. Indirilen dosyayı sabit diskimiz üzerinde açacağımız geçici bir dizine (C:\TEMP) kopyalarız. Bu kopyalama işleminden sonra kurulum için genel olarak C:\PHP dizini kullanılacağından bu isimde bir dizin açılır. Bu belirlenen C:\PHP dizinine php yorumlayıcısı kopyalanır ve çevresel değişkenlere bu açılan dizin yolu belirtilir. 6.5.1 IIS 4.0 ve IIS 5.0 Web Sunucusu Üzerinde İşlemler Windows NT veya Windows 2000 işletim sistemi üzerinde kurulu olan IIS (Internet Information Server ) web sunucusu için php.ini yapılandırma dosyasında aşağıdaki ayarlamaları yapmamız gerekir. Noktalı virgül olan yerleri yapılandırma dosyasında yok sayılcağı için gezgin kabiliyeti (Browser Capability browscap) dosyasının önündeki noktalı virgülü kaldırın. extension_dir=c:\php browscap = c:\windows\browscap.ini ; Buraya windows kurulu dizin ismi olacak şekilde ayarlayın. Bu dosya Windows işletim sistemi göz atıcı (browser) ayarlarını ve parametrelerinin tutulduğu dosyadır. Windows işletim sisteminde web sunucusu (IIS) ayarlarının olarak bilinen API ayarlarının yapılması için IIS Services Manager yönetim programını açarak Default Web Server sekmesi (tab) kısmında properties (seçenekler) kısmını tıklayın. Burada açılacak olan menüden home directory kısmına tıklayın, daha sonra Configuration düğmesine tıklayarak yeni bir Application Mapping ekleyin. Executable kutusuna PHP4isapi.dll dosyasının tam dizin yolunu yazın ve extension kısmına.php (Windows işletim sisteminde çalışacak uzantı olacak şekilde) yazdıktan sonra script engine (çalışma motoru) işaret kutusunu işaretleyin. Windows işletim sistemi ISAPI filtes kullanarak web sunusunun kullancağı filtreleri belirlemektedir. Bu işlem için yine az önceki uzantı ekleme işlemine kadar olan menü işlemlerini tekrarlayarak ISAP Filters kısmına girin, daha sonra PHP4ISAP.DLL dosyasının bulunduğu ( genellikle bu yol C:\PHP4\PHP4ISAPI.DLL şeklindedir ) yolu yazın. Bu işlem işlem ile web sunucu filtreleme işlemini gerçekleştirecektir. Bu işlemlerden sonra web sunucusunu (IIS) Internet Services Manager menüsünde bulunan stop (durdur) düğmesinden durdurup tekrar aynı menüden aktif hale gelen start ( başlat) tıklayarak yeniden başlatın. Bu işlemlerden sonra web sunucusu (IIS) php yorumlayıcıyı çalıştırmaya hazır duruma gelmiştir. Web sunucusu tekrar çalıştırılarak yapılan ayarların aktif hale gelmesi sağlanır. 105

6.6 PHP Unux/Linux İşletim Sistemine Kurulumu Bilindiği gibi Linux işletim sistemi geliştiricileri işletim sistemini GNU lisansı ile bedelsiz dağıtmaktadırlar. Bir çok program gelişitirme aracı da bedelsiz olarak dağıtılmaktadır. Bu programlama araçlarından biriside PHP yorumlayıcısıdır. Bir çok dağıtımda artık standart haline gelmiş olan php yorumlayıcısı işletim sistemi kurulurken direk sisteme kurulmaktadır. Bu yüzden Linux/unix türevi işletim sistemlerinde çok fazla bir değişiklik yapmadan php yorumlayıcıları Linux/unix işletim sistemleride problemsiz çalışmaktadır. Linux dağıtımı ile gelmeyen php yorumlayıcısı elde etmek ise çok kolaydır. İnternet üzerinden elde edilebilen php yorumlayıcısı http://tr2.php.net/downloads.php adresinde temin edilebilmektedir. bu adresten elde edilen program Linux veya diğer işletim sistemlerine oldukça kolay kurulmaktadır. 6.7 PHP Betik Dili Betik dilleri 1980 ve 1990 lı yıllarda çok fazla kullanılan bilgisayar yazılımlarıydı. Betik dillerinin en önemli özelliği derlenmesine gerek kalmadan düz yazı şeklinde yazılan bilgisayar programlama komutlarını yazarak yorumlayıcıya parametre olarak verildikten sonra yorumlayıcını bu yazılan düz yazı şeklindeki komutları işleyerek sonuca ulaşmaktadır. Betik dilleri genellikle bir yazı düzenleyici (text editor) programı yardımı ile yazılır ve sonuçları biligisayar ekranına veya saklanmak istenen ortama göre saklamaktadır. Değişik işletim sistemlerinde çalışacak php yorumlayıcı kendi sürümüne göre çevresel değişkenlerinin alacağı ayar ve değerleri farklı olmaktadır. Ayar ve yapılandırma dosyalarından program çalışırken yorumlayıcının yeri bildirilmektedir. Bölüm 6.4 te verilen yazım ifadesine göre komutlar web sunucu üzerinden 6.1 de görüldüğü gibi yazılmaktadır. Genellikle php yorumlayıcısı web sunucularda kullanılmaktadır. Gün geçtikçe php yorumlayıcısı web sunucuların vazgeçilmez tamamlayıcısı haline gelmektedir. Php yorumlayıcısı komutları araken yazı dosyasının içerisindeki ilk baktığı komutların yazılı olduğu ayraç kısmıdır. Bu kısımda şkş şekilde yazılabilmektedir. Uzun ayraç ve kısa ayraç yazım şekli, uzun ayraç şeklinde yazım 6.2 de görüldüğü gibidir. <? Php PHP komutları (6.2).?> 106

Kısa ayraç şekli ise 6.3 de görülen yazım şeklindedir. Bu şekilde yazılan pph komutlarının uzun şekilde yazılanlardan bir farkı bulunmamaktadır. <? PHP komutları (6.3).?> Php yazım kurallarında kısa şekilde yazılan ayraçlarda başka bir programlama dilinde dışarıdan çağırma veya XML gibi yeni nesil web arayüzü programlama dillerinde kullanılmaması tavsiye edlimektedir. Diğer web arayüz programlama dillerinde bazı başlık ve etiket bildirimleri 6.3 te gösterilen kısa ayraç şekliden çalışmamaktadır. Bu durumun önlenmesi için php.ini dosyasının içindeki short_open_tag = on satırını aşağıdaki şekilde değiştimek yeterlidir. Değişiklik yapıdıktan sonra php oyırmlayıcısı kısa ayraç şekliden çalışmayacaktır. short_open_tag = off kısaca verilen bu bilgilerden sonra klasik merhaba dünya programı yazımı ise aşağıdaki gibidir. Bu yazım şeklinde web sunucuna betik dilinin php olduğunu hatırlatacak bir satır daha ekliyoruz. Bu satır web sunucusuna du dosya içerisinde yazılı olan betik dilinin php olduğunu hatırlatmaktadır. Aşağıdaki program parçacığını merhaba.php adı ile saklayalım. <html> <SCRIPT LANGUAGE = php > print ( merhaba dünya ); </script> </html> Web sunucusunun çalıştığı kök dizine veya bize ayrılan web sunucu dizinine merhaba.php dosyasını kopyalayalım. Web sunuucusunua bağlanarak kök dizinde internet göz atıcısı (internet browser) ile adres kısmına merhaba.php yazarak enter tuşuna bastığımızda göz atıcının ekrana merhaba dünya yazısını getirdiğni görürüz. 107

6.8 Php Programlama 6.8.1 Değişkenler Bütüm bilgisayar programlama dillerinde işlemleri yaptımak için bilgisayar programında işlenecek olan değeleri elde etmek için programlama değişkenleri kullanırız. Bu değişkenler programlama yaparken işleyeceğimiz verilerin program içerisinde bir veya birden fazla değişmesine olanak sağlayan yapılardır. Değişkenlerin en önemli özelliği kullanılmadan önce tanımlanması gerekir. Her değişken kullanılacağı tipe göre belirlenmelidir. Nesne yönelimli bilgisayar programlama dillerinde her değişkenin belirlendiği tipten başka bir tipte kullanılması doğru değildir. Php programlamada ise değişkenleri böyle bir zorunluluğu yoktur. Php de değişken tanımlamak için değişken olarak tanımlanan karakter ve karakter dizisinin önüne $ işareti koyarak yaparız. Aşağıdaki örneklerde php içerisinde kullanmadan önce tanımlanan değişkenler verilmiştir. $adi; $soyadi; $ögrenci_no; $sira_no; $_alfa; $_gamma_func; Yukarıda verilen değişkenlerin içerdiği değerler farklı türlerde olabilir. Değişkelerin alabileceği değerler karakter, sayı ve değişken içeriğide olabilir. Aşağıda verilen örneklerde değişkelere değer atanması ile ilgili örnekler görülmektedir. $adi = ahmet ; $soyadi = ak ; $ogrenci_no = 2005238000 ; $sira_no = 000001 ; Değişkenlere değer atamanın yapılmasından sonra değişkelere atanan değerlerin okunması işlemini gerçekleştirmek için print php komutu kullanılır. Değişkenler program içerisinde aldığı değerleri program sırasında veya program sonlandıktan sonra görmek istersek print komutu ile değişkenin o an için aldığı değerleri görebiliriz. 108

Print $adi ahmet Php de değişken değerleri yazdırılırken bir başka değşkeninde değeri veya kendiside yazdırılabilir. Örneğin bir değişkene değer atayalım daha sonra bu değişkeni bir başka değişkene atayalım ve bu değeri ekrana yazdıralım. $adi = ahmet ; $_ad = adi ; print $$_ad; Bilgisayarın göz atıcısı ekrana ahmet yazısını çıkaracaktır. Php yorumlayıcısı iki $$ (dolar) işaretini görünce bunun bir değişken yardımı ile başka bir değişkeni tuttuğunu anlayacak ve diğer değikenin hafızadaki değerini ekrana yazdıracaktır. Bu komutları fonksiyonel şekilde yazmak istersek ağağıdaki gibi yazabiliriz. Komutların yazılması sonucunda ekrana üç ahmet yazısı yazılacaktır. $adi = ahmet ; $_ad = adi ; print $$_ad; print $$_ad ; print $ adi ; bu yöntem de değişken değerleri durağandır. Değişkenlerin değerleri dinamik olarak değiştirilmek istenirse değiştirilmesi istenen değişkenin önüne & (ampersand) işareti konur. $adi = ahmet ; $_ad = &$adi ; $adi = mehmet ; print $_ad; Burada ilk değişkenin $adi değerini ikinci değişkene atayarak içeriğin değişmesini sağladık, daha sonra ikinci değişkenin değerinin değişmesini sağlayarak ilk değişkenin de değerinin değişmesini sağlamış olduk. 109

Diğer bilgisayar programlarında olduğu gibi php programlama dilinde kullanılan verilerin tiplerininde kullanılmasına dikkat edilmesinde yarar vardır. Veri tipleri porogram yazarken aynı türden olmasına özen gösterilmelidir. Ayrı türden olan deüişkenler arasında operatör işlemleri yapılamayacağı için programda hatalar ortaya çıkabilmektedir. Genel olrak bahsetmek gerekirse veri tipleri tamsayı (integer), ondalıklı dsayı (double), alfanumerik (sayıharf karışık) ve dizi gibi değişken tipleri kullanılmaktadır. 6.8.2 Sabitler sabitler bilgisayar programları çalışırker, çalışma sırasında değerleri değişmeyen veri tipleridir. Program içerisinde birden fazla defa kullanıma ihtiyaç duyulan zamanlarda kullanılırlar. Yazılan programın içerisinde kullanılan bir değer örneği pi (3.1416 ) gibi bir değerin noktadan sonraki hassasiyeti zaman zaman değişebililr. Bu durumda değeri program içerisinde kullanıldığı her yere gidip yazmak yerine sadece bildirim yapıldıuğı yerde değiştirerek ortaya çıkabilecek yanlışı da engellemiş oluruz. Sabit değer programın sadece bildirim yerinde değiştirildikten sonra her yerinde aynı hassasiyet ile kullanır. PHP programlamada değişmeyen sabit değer program betik içerisinde define ( sab_deg,değer) fonksiyonu ile tanımlanır. Define fonksiyonunun ilk aldığı değer sabitin program içerisinde kullanılacak olan adıdır. İkinci parametre değeri ise sabitin program içerisindeki sayısal değeri olacaktır. define( pi,3.1436); Betik içerisinde dairenin alanını hesaplayan kodları aşağıdaki gibi yazarız. <?php $daire_ycap = 3; define ( pi,4.3116); $alan = pi * (daire_cap * daire_ycap) print ($alan);?> 110

6.8.3 Artimetik ve Mantıksal Operatörler Operatörler bilgisayar programlarının aritmetiksel veya mantıksal işlemleri ve atama işlemlerini yapan ve bilgisayar programlarının vazgeçilmez işlevleridir. Bir değişkene veya sabite harhangi bir değeri atamak için = (eşit) operatötünü kullanmaktadır. Bu operatörün görevi sayısal bir değeri bir sabit veya değişkene eşitleyerek program içerisinde bu değerin işlenmesini sağlamaktır. Aynı şekilde artimetiksel veya cebirsel işlemlerinde yapılması için kullanılan operatörler vardır. Bunların genel adına aritmeksel operatörler denmektedir. Aiağıdaki tabloda bu tür operatörlerin yaptığı işler ve basit örnekler yeralmaktadır. Tablo 6.1 Aritmetik Operatörler Tablosu. Operatör İşlev Örnek + Toplama 2 + 3 = 5 - Çıkarma 4 1 = 3 * Çarpma 4 * 2 = 8 / Bölme 6 / 3 = 2 % Modülüs 3 % 2 = 1 += $x = $x + 3 $x += 5 -= $x = $x - 3 $x -= 5 /= $x = $x / 3 $x /= 5 *= $x = $x * 3 $x *= 5 %= $x = $x % 3 $x %= 5.= $m.= text $m= $m text Bazı durumlarda php programlama dilinde den aynı C++ programlama dilinde olduğu gibi bir artırmak veya azaltmak için hazır olan operatörleri kullanabiliriz. Bu türden kullanımlar kod yazarken bize kolaylık sağlamaktadır. İlk anlarda zor veya anlaşılmaz gelen bu kodlama şekli ileri seviye programcılığa doğru gidildiğinde çok kolaylık sağlamaktadır. Değişkenlerinde değerlerini bir arttırmak için $değişken++ şeklinde yazılır. Bu x değişkenini ($x) değerini bir arttırır. Aynı şekilde $değişken-- ise değişkenin değerini bir azaltır. Mantıksal operatörler bilgisayar programlarında mantıksal karşılaştırma işlemlerini yapan operatörlerdir. Bu tür operatörleri genellikle şart yapılarında karşılaştırma amacıyla kullanılır. Tablo 6.2 de karşılaştırma operatörleri ile ilgili bilgiler veirlmektedir. 111

Tablo 6.2 Mantıksal Operatörler. Operatör İşlev Örnek == Eşitlik $x == 2!= Eşit değil ise $x!= 2 < Büyük ise $x > 4 > Küçük ise $x < 4 <= Büyük eşit ise $x <= 4 >= Küçük eşit ise $x >= 4 Mantıksal operatörlerin yanına diğer operatörler ise karşılaştırma operatörleridir. Karşılaştırma operatörleri iki değişken veya değişken grubu arasında karşılaştırma yapabilmek için kullanılırlar. Bu tip yapılar genellikle şart yapıları ve döngü yapılarında kullanılır. Döngülerde kontrol değişkenini takibi ve sonuç değerinde ulaşması ile ilgili kontroller yapılır. Tablo 6.3 te karşılaştırma operatörleri verilmiştir. Tablo 6.3 Karşılaştırma Operatörleri. Operatör İşlev Örnek Doğru (D) veya Yanlış(Y) D Y =D/ Y D = D Or Doğru (D) veya Yanlış(Y) DorY =D/ YorD = D && Doğru (D) ve Yanlış(Y) D&&Y=Y/Y&&D=Y and Doğru (D) ve Yanlış(Y) DandY=Y/YandD=Y Xor veya tersi herhangi bir D DorY =D! Şartın değili DandY=Y (Değili D) Bu operatörler ile ilgili örnekleri diğer bölümlerde verilecektir. 6.8.4 Şart yapıları Bütün bilgisayar programlarında programın kontrolü veya şartlarının gerçekleşmesi durumunda çalıştırılacak komutlar bulunur. Gerçekleşen şartların ortaya çıktığında çalıştırılması istenen komutlar bu şart yapıları içerisine yazılırlar. Şart yapıları genellikle dalsınır algoriltması gibi çalışır. Belirlenen şart gerçekleşir ise bu komut çalışsın gerçekleşmez ise diğeri çalışsın gibi söz dizimsel anlamı vardır. Şart yapılarında karşılaştırma ve mantıksal 112

operatörler kullanılır. Bu operatörler if ve switch şart yapılarında kullanılırlar. İf deyiminin kullanıldıpı şart yapılarında yazım kuralı aşağıdaki gibidir. if (şart) şart gerçekleştiğinde çalıştırılacak komutlar elseif (diğer şart) birinci şart gerçekleşmediğinde çalıştırılacak komutlar else yukarıdaki şartların hiç birisi gerçekleşmediğinde çalıştırılacak komutlar Bazı durumlarda elseif veya else deyimleri olmadan bu şart yapıları kullanılabilmektedir. Şart yapılarındas elseif ve else kullanılmayanlara birinci tip şart yapıları denilmektedir. Diğer bir şart yapısı ise switch-case yapısıdır. Bu tür yapılar genelde değişkenin bir değer veya değer aralığında kaldığı veya bu aralıktaki değerlerin işlenmesi gerektiği durumlarda kullanılır. Bu yapının en önemlki unsuru break deyimidir. Bu deyim kullanılmadan komutlar switch-case yapısının dışında işlem yapamazlar. Genel yazım kuralı olarak aşağıdaki gib yazılır. switch (değişken) case şart_1; işlenecek komutlar; break; case şart_2; işlenecek komutlar; break; case şart_3; işlenecek komutlar; 113

break; default; diğer durumda işlenecek komutlar; 6.8.5 Döngüler Döngüler bilgisayar programlarında birden fazla aritmetiksel veya mantıksal işlemler için yapılması gereken sıralı işlemlerde kullanılır. Döngüler genel olarak program denetiminde kullanılan yapılardır. Bu yapılar program içerisinde dallanma veya bir başka program satırında bulunan program kodlarına ulaşılmasını sağlar. Bazı problemlerin çözümünde program içerisinde arka arkaya birkaç kez çalıştırılması istenen komutlarıda döngüler vasıtası ile çalıştırılması sağlanır. Php bilgisayar betik programlama dilinde döngüler while, do-while, for ve for-each yapılarında yazılır. While komutunun genel yazım kuralı aşağıdaki gibidir. Bu döngü yapısında kontrol edilecek olan şart gerçekleştiğinde komutlar çalıştırılır ve şart durumu ortadan kalktığında program yapı içerisinde çıkar. while (şart) şartın gerçekleşmesi durumunda yapılacak olan komutlar; Diğer bir while ile yapılan döngü yapısı ise do-while yapısıdır. Bu yapı ile while yapısının arasıdaki en önemli fark do-while yapısındaki komutlar çalıştırılmadan önde en az bir kez şart yapısının gerçekleşip gerçekleşmediği sınanır ve daha sonra şart gerçekleşir ise işletilecek olan komutlar çalıştırılır. do-while yapısında ise şartın gerçekleşip gerçekleşmediğine bakılmaksızın do-while yapısı içerisindeki komutlar en az bir kez çalıştırılır ve şart gerçekleşiyor ise komutlar çalıştırılmaya devam edilir. Do-while yapısının genel yazım kuralı ise aşağıdaki gibidir. do şart gerçekleşir ise çalıştırılacak komutlar while (şart); 114

Aşağıdaki örnekte ekrana 1 ile 10 arasında rakamların yazıdığını görmekteyiz. Burada şart gerçekleşmesede ekrana en az bir kez degisken ile belirlenen değer yazılır. <?php $degisken = 1; do print ( $degisken ); $degisken++; while( $degisken <= 10);?> Diğer bir döngü yapısı for ile yapılandır. For döngüsü while döngüsünden farkı burada kontrol değişkenleri vardır. While yapısında şart yapısı söz konusu iken burada kontrol değişkenleri ile çalıştırılacak olan komutlar kontrol edilir. Genel yazım kuralı aşağıdaki gibidir. for ($degisken ; kontrol_degiskeni; artım) kontrol değişkeni gerçekleştiği süre çalıştırılacak olan komutlar; Döngülerde kontrolü en kolay olan yapıdır. Kontrol değişkeni tüm tekrarlanacak olan komutları denetim altına aldığından bu yapıda tekrarlanacak işlemlerde sonsuz döngüye girme ihtimali daha azdır. Bir örnek vermek gerekir ise aşağıda birden başlayıp ona kadar sayıları yazan for örneği görülmektedir. <?php for ($degisken =1; $degisken <=10; $degisken); print( $degisken );?> 115

6.8.6 Fonksiyonlar Bilgisayar programlarında en çok kullanılan program kodlar parçacıkları fonksiyonlar ve alt programlar (subroutine) dır. Birden fazla sefer kullanılacak olan hesaplama veya tekrarlı hesap veya işlemler bütünü kodları şelinde kullanılır. Bir dosya açılması, belirlenen oransal işlem değer hesapları veya matematiksel hesap fonksiyonlarının yazılması sırasında kullanılır. Bilgisayar programcısı defalarca açması gereken dosyaları veya dosyadan okuma için gerekli olan kodları bir defa yazarak tekrar tekrar kullnanabilir. Aynı kodu her dosya açmada veya dosyadan okumada yazmasıan gerek yoktur. Fonksiyonları alt programlardan farkı fonksiyonlar çağrıldıklarında sadece bir değer veya parametre geri döndürürler, örneğin sin(x) gibi daha önceden tanımlanmış bir fonksiyon göz önüne alırsan bu fonksiyonun kullanılması ile sadece x değerinin alacağı değer geri döndürülür. Her fonksiyonun mutlaka tanımlanması gerekir. Daha öncedfen tanımlanmış olan fonksiyonlara öntanımlı fonksiyon (predefined function) denir. Öntanımlı fonksiyonlar genelde üretici firmaların yazarak derleyici veya yorumlayıcıların kütüphanelerinde dağıttıkları türden fonksiyonlardır. Php fonksiyon çağırmadan önce tanımlanması ve kullanılacak olan parametrelerin belirlenmesi gerekir. Genel olrak fonksiyon tanımlama ve yazım kuralı aşağıdaki gibidir. Function fonksiyon_adi (parametre_1, parametre_2 ) fonksiyonun yaptığı işlemler veya komutları; return geri_gönderilecek_sonuç_değer; Fonksiyonun çağrılaması için program içerisinde fonksiyonun alacağı parametre değerleri sırası ile verilerek çağrılır. Fonksiyon verilen parametre değerlerini alarak elde ettiği sonuçları tek bir değer olarak veya paramtere listesine göre çıkış değeri olarak programa geri gönderir. <?php function topla ($sayi1, $sayi2) $sonuc = $sayi1 + $sayi2; return $sonuc;?> 116

Yukarıdaki topla() fonksiyon program parçacığındaki işlem iki sayı değişkeninin (sayı_1 ve sayı_2) toıplanmasını gerçekleştiren fonksiyon kodlarıdır. Bu fonksiyon kodları php programı içerisinde tanımlandıktan sonra istenen yerde kullanılırlar ve sonuç $sonuç değişkeni ile programa geri gönderilir. 6.8.7 PHP de Diziler Bilgisayar programlama dillerinde değişkenlerin bir tanesi ile yapılan işlemlerde sonuç bir değer olarak geri alınır. Birden fazla değer ile işlem yapılması istendiğinde diziler kullanılarak işlemler yapılmaktadır. Diziler birden fazla değeri ayrı ayrı bir değişkene atamak için çok faydalıdır. Değişkeni bir tren vagonu gibi düşünürsek değeri vagonun içerisindeki yük olarak varsayalım. Diziler ise bu vagonlardan birden fazla ve birbirine ardışık sıra ile bağlı vagonlar topluluğudur. Her vagonun içerisindeki yük değeri farklı olabilmektedir. Değerlerin tek kriteri vagonun yük kapasitesidir ki buna dizinin veri tipi denir. Dizini veri tipi içerisinde taşıncak olan verinin ne kadar büyüklükte olduğunu belirlemektedir. Php bilgisayar betik programında dizi tanımlaması ile yapılmakyadır, genel yazım kuralı $değişken = array(parametreler) veya $değişken = list(parametreler) şeklindedir. Tek boyutlu diziler genellikle array() veya list()ile kullanılmadan değişkenin adından sonra köşeli parantezin içerisine yazılan dizi boyutu ile yazılmaktadır. Aşağıdaki örnekte haftanın günlerini sırasal (ordinary) gösteren php bilgisayar kodları verilmiştir. <?php $hafta= array( pazartesi, sali, carsamba, persembe, cuma, cumartesi, pazar )?> http://www.php.net/faq.php http://www.php.net/manual/config-odbc.html http://www.techdevelopers.com http://www.lilali.net http://www.sqlcourse.com/ ttp://www.apache.org/info/apache_users.html 117