26 Mayıs 2016 Perşembe

PHP Dili

4.2.1 PHP


PHP adını "Personal Home Page Tool" kelimelerinin baş harflerinden almıştır. PHP, özellikle dinamik web sayfaları yaratmak amacıyla geliştirilmiş, sunucu tarafında çalışan bir programlama dilidir. Bir ziyaretçi sayfaya girdiğinde, sunucu PHP komutlarını çalıştırır ve o anda bir Zengin Metin İşaret Dili (Hyper Text Markup Language-HTML) çıktısı üretir. Ziyaretçinin bütün görebileceği bu çıktı olur. PHP kodunu göremez. Dinamik sayfa kavramı da buradan gelmektedir. Ziyaretçinin kullandığı tarayıcıya, günün saatine ve akla gelebilecek her türlü değişkene bağlı olarak farklı bir sayfa yaratılıp gönderilebilir[13].

PHP son derecede esnek ve kullanışlı bir dildir. PHP kullanılarak Fortran, C, C++, Delphi, Basic dillerinde olduğu gibi sunucu bilgisayarına hesaplamalar yaptırılıp sonuçları bir web sayfası şeklinde alınabilir. Ancak PHP yapı olarak bu saydığımız dillerden farklıdır. Bir script dilidir. C, Basic, gibi dillerde yazılan programlar bir derleyici tarafından derlendikten sonra bir uygulama dosyası haline getirilir ve bu dosya kendi başına çalıştırılabilir. PHP içinse durum farklıdır. PHP’de yazılan programlar “.php” uzantılı dosya formunda saklanır. Bu dosya ancak üzerinde PHP sunucusunun (Apache Server gibi) yüklü olduğu bir bilgisayarda çalıştırılabilir. Basit bir kod örneği Şekil 4.1’de verilmiştir. PHP açık kaynak kodlu yazılım dünyası için çok önemlidir.

En Basit PHP Kodu
Şekil 4.1. Basit bir PHP kod örneği.






Sonradan Hypertext Preprocessor(Zengin Metin Önişlemcisi) olarak adlandırılan PHP, genel ağ için yaratılmış, sunucu taraflı, çok geniş kullanımlı, genel amaçlı, HTML içerisine gömülebilen betik ve programlama dilidir. PHP, ilk kez Rasmus Lerdorf tarafından, web üzerinden sayfasına ziyaret edenleri izlemek amacıyla bir dizi Perl betiği kullanılarak geliştirilmişti. İnsanlar kısa zamanda bununla ilgilenmeye ve bu konuyla ilgili sorular sormaya başladıklarında, Rasmus kararını verdi ve bir betik motoru oluşturdu. Ayrıca formlara da destek verdi ve böylece PHP/F1'i biçimlendirmiş oldu. Adını duyurdukça bir grup yazılım geliştirmecinin dikkatini çekti ve böylece bir API oluşturuldu ve PHP3 ortaya çıktı. Daha sonraları yeniden ele alınması gerekti ve Zend motoru PHP4'ü yaratmış oldu. Artık PHP önünde pek engel bulunmuyordu, böylece PHP daha ünlenmeye başladı. Günümüzde PHP, bloglardan forumlara, portal sistemlerinden veri tabanlarına, yapay sinir ağlarından matematiksel sistemlere, sınıflardan fonksiyonlara her türlü işlevde kullanılır. PHP’nin özellikleri şöyle sıralanabilinir.

1. PHP hemen hemen her platformda çalışabiliyor. PHP aynı kod temelini kullandığı için, UNIX, Windows (95/98/NT/2000) ve Mac OS dahil olmak üzere 25 platformda derlenip kurulabilir. Kodlar aynı olduğundan script'ler platformdan bağımsız olarak çalışacaktır.

2. PHP, uzantı alabilmektedir. Uygulamanın içerisinde yer alan çekirdek motor (Zend tarafından yazıldı), bir dizi asal kod modüllerinden ve kod uzantılarından oluşmaktadır. Bu nedenle programcılara PHP uzantıları yaratarak bazı özel işlemlerini yapabilmeleri için iki seçenek sunuluyor; ya uzantı modüllerini yazarak uygulanabilen bir derleme yapmak, ya da PHP'nin dinamik yükleme mekanizmasıyla yüklenebilecek uygulanabilir uzatmalar yaratmak.

3. PHP pek çok Zengin Metin Transfer Protokolü(Hyper Text Transfer Protocol-HTTP) sunucu ara yüzü barındırıyor. PHP Apache'ye, doğrudan yüklenebilir. Alternatif olarak, Ortak Ağ Geçidi Arabirimi (Common Gateway Interface -CGI) modülü olarak da kullanılabilir.
4. PHP pek çok veritabanı ara yüzü bulunduruyor. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL ve diğerleriyle doğrudan çalışabiliyor. Bunlar ikili sayı düzenindeki ara yüzlerden oluşmaktadır ve bu çözümler için veritabanının desteklenmediği yerlerde Açık Veritabanı Bağlantısı.(Open Database Connectivity-ODBC) desteği sağlamaktadır

5. Bir PHP kullanıcısı herhangi bir kütüphane için ara yüz oluşturmakta zorluk çekmez. Pek çok kullanıcı bu yolu seçmiş, grafik rutinleri, PDF dosyaları, Flash filmleri, Cybercash cetvelleri, Genişleyebilir İşaretleme Dili (Extensible Markup Language–XML), İnternet Mesaj Erişim Protokolü (Internet Message Access Protocol –IMAP) ve diğerleriyle ilgili modüller bulabilmiştir.

6. PHP Eklenti ve Uygulama Deposu(PHP Extension and Aplication Repository-PEAR), PHP'nin uzantısı ve Add-on deposudur. PEAR, Perl için geliştirilen Kapsamlı Perl Arşiv Ağı (Comprehensive Perl Archive Network-CPAN)'e benzemektedir. Halen başlangıç aşamasında olmasına rağmen PEAR, PHP'nin kurulumuyla birlikte gelecek bir dizi PHP script'ini kullanıma sunmaktadır.

7. PHP bir açık kod uygulamasıdır ve pek çok profesyonel kullanıcı için çok şey ifade etmektedir. Basitçe açıklamaya çalışırsak PHP kullanıcıyı, çalışmayan uygulamalar için üretici firmanın keyfini beklemekten, her yıl sistemini belli paralar ödeyerek güncelleme zorunluluğundan kurtarmaktadır.

PHP’nin bazı eksik yönleri vardır. Hata denetimi Cold Fusion ya da Aktif Sunucu Sayfaları(Active Server Pages-ASP) uygulamasındaki kadar etkili değildir. Tümleşik Geliştirme Ortamı(Integrated Development Environment-IDE) ve hata ayıklayıcı(debugger) uygulaması bulunmamaktadır. IDE' nin pek çok kullanıcı için fazla bir önemi yok. Ancak debugger Zend tarafından yakın gelecekte geliştirilecek. PHP ve diğer script dillerini ne zaman kullanacaksınız Eğer bir UNIX ya da Linux platformu üzerinde iş görüyorsanız, Perl ve PHP, her ikisi de çalışmalarınız için ideal. Her ikisi de başlangıç aşamasında script yazmayı kolaylaştırıyor. Windows platformundaysa ASP ve Cold Fusion egemenliği bulunuyor. Aslında buradaki tercih teknik olmasından çok politik sayılır. ASP ile İnternet Bilgi Servisleri(Internet Information Services-IIS) muhtemelen PHP ile IIS'den daha iyi. Ancak tamamen teknik bir altyapıda PHP, WindowsNT üzerinde, diğer platformlardaki performansına ulaşmaktadır[14].


Turgut ARSLAN
Uzaktan Eğitim ve Öğrenme Yönetim Sistemlerinin Karşılaştırılması, Tez çalışması, Danışman: Doç.Dr. Seyfettin Dalgıç
Trakya Üniversitesi 2013


Kaynaklar:
[13] Çokçetin, B., PHP - MySQL Tabanlı Uzaktan Eğitim Modülü Tasarımı.  Yüksek Lisans Tezi Dumlupınar Üniversitesi Fen Bilimleri Enstitüsü Elektrik Elektronik Anabilim Dalı, Kütahya (2006).
 [14] http://tr.wikibooks.org/wiki/PHP/Genel_bilgiler (10 Şubat 2012).

LMS Teknolojisi

4.2 LMS Yazılımında Kullanılan Teknolojiler

LMS Teknolojisi

LMS programları görünüş ve işleyiş bakımından hemen her gün ziyaret etiğimiz web sayfalarından farksızdır. İnternette gördüğünüz pek çok sayfanın aksine statik değil dinamik sayfalardır. Ziyaretçileri ile iletişim halindedirler. Sürekli bir veri alışverişi söz konusudur. Oldukça karmaşık bir yapıya sahiptirler. LMS yazılımları baştan sona bir okul gibi hizmet vermek için tasarlanmışlardır. Bu programlar sisteme giren her kullanıcının istatistiğini tutarlar.





Yapılan dersler, sınavlar, alınan notlar, ders içerikleri, portal bünyesinde yapılan sohbetler, üyelerden alınan ücretler v.b. akla gelebilecek her çeşit faaliyetin yürütülmesini sağlarlar. Bu tarz sistemlerin yazılması zor ve zahmetli bir iştir ve profesyonel çalışma gerektirir. Ayrıca sistemin genel işleyişi ile ilgili ayrıntılı bir senaryonun da hazırlanması, ileriye dönük mantıklı planlamalar yapılması gerekir.

LMS yazılımları pek çok programın birbiri ile uyumlu olarak çalışması ile faaliyet gösterirler. LMS yazılımları aynı zamanda bir web sitesi oldukları için bu yazılımların inşasında web programlama dilleri ve diğer bazı yardımcı yazılımlar kullanılır. Bu programların web sayfasının tarayıcı kısmında, yani kullanıcıların gördüğü kısımda çalışanları içeriğin sunumundan ve kullanıcı ile sistemin etkileşiminden sorumludur.

Sunucu tarafında çalışanları ise sistemin kullanıcılar ile etkileşimi sonucu üretilen verilerin işlenmesi, hesaplamaların yapılması ve veritabanı kayıtlarının tutulmasından sorumludur. Bu bölümde bir LMS portalının inşasında kullanılan tasarım ve programlama dillerinden kısaca bahsedilecektir.