Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Ahmet İpek
Ahmet İpek
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
9 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: ardindan bagimsiz gelistirici gelistirme internet kilavuz performans platform prensipleri programlama tabiki tercih uygulamalari uygulamanin zamanda PHP 5 Ahmet İpek
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : PHP 5
Yayınlanma Tarihi : 10.1.2005
Okunma Sayısı : 41764
Yorum Sayısı : 17     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 28.3.2024
Turhal Temizer
Mac OS/X Removing CUDA 28.3.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 28.3.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 28.3.2024
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Seri 1 - PHP 5 ve Platform Bağımsız Temel Web Programcılığı
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bir programlama dilini öğrenme sırasında edindiğimiz deneyimler iletişim için kullandığımız dilleri öğrenme sırasında edindiğimiz deneyimler ile nerdeyse aynıdır. İkisininde belli kuralları vardır, kendilerini günceller, kişiden kişiye göre kullanımı değişir ve en önemlisi zamanla daha iyi öğrenilir. Anahtarda burdadır zaten, bir geliştirici öğrenme sürecinin bitmeyeceğini farkettiği zaman başarının kapısını aralar.Tabi bunu bilemek sadece bir başlangıçtır; bu farkındalıktan faydalanmak için en etkili yönetemi geliştirmek gerekmekte. Benim tercih ettiğim ve bir  kısmını bu seride bulabileceğiniz yöntemin bazı fazları bulunmakta.

Faz 1: (Dil hakkında genel kültür edinilmesi.) Efendim bu dil nedir, nerde kullanılır, avantajları dezavantajları nelerdir? Internet üzerinde yeterince kaynağı varmıdır ? Hatta yapabiliyorsanız iş olanakları nedir, son zamanlarda ne tarz firmalar bu kategoride ilan vermiş ? Örneğin devlet kurumlarında daha çok IBM ’in hüküm sürdüğü aşikardır bu anlamda şuan JAVA devlet pozisyonlarında daha geçerlidir fakat özel sektörde ibreler şuan daha çok .NET platformunu göstermekte.  Peki PHP bu iki devin arasında nerede ? Belki bu araştırmaları yaptıktan sonra PHP öğrenmekten vazgeçeceksiniz. Bundandır ki ilerde daha çok vakit kaybetmemek veya pişman olmamak için bu adım içerisinde yaptığınz araştırmalara özen göstermelisiniz. Bu konuda bir çok forumda zaten tartışmalar süregelmekte ve devam edicektir; bunlardan da faydalanabilirsiniz fakat buralardan kesin sonuç çıkarmak pek sağlıklı değil.

Faz 2: (Dil’in çekirdeğinin öğrenilmesi.) Nedir dilin çekirdeği ? Esasında terim olarak biraz yanlış ama tanıdık bir yaklaşım. Unix platformunda çoğu uygulamanın bir çekirdeği bulunur bunlar uygulamanın hayati fonksiyonlarını içerir; ardından gelen diğer fonksiyonlar uzantı olarak nitelendirilir. Çekirdek aynı zamanda dilin yapısınıda içermektedir. Örnek olarak değişken tipleri ve bunlar için hazırlanmış temel fonksiyonların veya mantıksal operatörlerin kullanımının öğrenilmesi. Bu öğrenme süreci içerisinde belki arka plandaki çalışma prensipleride önemli olabilir, burda eğer utopik bir yaklaşımda bulunacaksak çalışma prensipleri çok iyi öğrenilmeli. Çünki vakti geldiğinde hata ayıklamak için daha büyük bir vakit kaybı ile çalışma prensipleri kısmi olsada öğrenilmek zorunda kalınacak. Benim tavsiyem bu süreç içerisinde dilin çekirdek yapısına hakim olunduktan sonra en azından çalışma prensipleri hakkında genel bir fikir edinilmesi.

Faz 3: (Sürekli Gelişim.) Artık yeni öğrendiğiniz dil ile uygulamalar geliştirebiliyorsunuz. Peki ya yazılım esnasında uyguladığınız teknikler ne kadar verimli ? Okulda öğrendiğiniz algoritmalar size yardımcı oluyor fakat pratik kullanımda geçerlimi ? Uygulamanızdan yüksek stress altında da aynı verimi alacağınızdan eminmisiniz ? Bu fazda uygulamalarımızın performansını geliştirmeye yönelmeliyiz ve yeni teknikler öğrenmeliyiz. Tabiki sadece performans değil aynı zamanda geliştirdiğimiz uygulamaların güvenlik yapısını nasıl geliştirebiliriz sürekli bunun arayışı içerisinde olmalıyız. Tabiki dilin gelişimi bitmediğinden bir yandan da dil’deki yenilikleri gözden geçirmeliyiz.

Okumakta olduğunuz seride yukarda görmüş olduğunuz adımların hepsinden biraz bahsederken bunları PHP5 ile bağdaştırıp elimden geldiğince güncel örnekler vermeye çalışacağım. Açıkcası amacım bir kitap kadar yoğun içerik çıkarmak değil çünki bu okuması çok sıkıcı hatta zaman zaman okurun dili bırakmasına sebep olabilen bir davranış; keza ticari bir amaç da gütmediğimden olabildiğince anahtar noktaları size gösterip daha çok bir kılavuz (yol gösteren) ortaya çıkarmak.

Web Programcılığı ve PHP

Internet’in yagınlaşmaya başladığı veya patladığı sene 1995 olarak belirtilir tabiki bundan önce internet araçları üzerinde ARGE çalışmaları devam etmekteydi. Statik olarak hazırlnan HTML web sayfaları insanları tatmin etmemeye başlar, çoğu kimsenin aklında kullanıcının eylemlerinden etkilenen bir yapı oluşturma fikri vardır. Bunun için web uygulamaları gerçekleştirilmelidir, burda ilk dişe dokunur adım linux üzerinde PERL için hazırlanan CGI kütüphaneleri ile gözükür. PHP yaklaşımı itibari ile PERL’e çok benzemektedir fakat CGI kütüphaneleri ile web uygulamaları oluşturmak gerçekten kolay değildir. Bu esnada Apache web sunucusu geliştirme grubundan Rasmus Lerdorf tarafından PHP (Personal Home Page) 1994 senesinde geliştirilir. İlk hedefi kişisel sitesine gelen kullanıcıları takip etmektir; ardından PHP2 ile form elemanlarının SQL cümleciklerine yerleştirilmesi ile PHP gelişimini sürdürür. Zamanla PHP ’nin büyümesi sonucunda PHP geliştirme grubu kurulur burda iki isim öne çıkar Zend Suraski ve Andi Gutmans.Bu iki kişi tarafından PHP3 ve PHP4 ’ün etkili bir şekilde yorumlanıp çalışması için PHP içersine "Zend Engine" (Zend Motoru) gömülür. Bu esnada Zend firması kurumsal anlamda PHP’ye destek vermek ve geliştirici araçların hazırlanması için kurulur. PHP3 ve PHP4 içerisinde bulunan Zend Engine ne yazık ki nesne yönelimli programlamaya (Object Oreinted Programing "OOP") tam anlamıyla destek vermemekteydi ve geliştirilen OOP tabanlı PHP uygulamalarıda ne yazık ki performans konusunda başarısız olmaktaydı. Bunun üzerine Zend PHP5 için temel farklılığı oluşturan Zend Engine 2’yi OOP ’ye tam destek verecek şekilde tasarlayıp bugün önümüze sundu. Peki 1994 ile 2004 arasında başka web programlama dilleri yokmuydu? PHP’nin ardından microsoft tarafından ASP sürüldü fakat hem performans konusunda hem kütüphaneleri konusunda ASP çok vasat bir çizgide idi. Macromedia tarafında ise web programlama dili olan coldfusion tutulmadı. Yahoo gibi işlemci ve trafik yükü ağır olan kurumlar ise kendi (scripting) dillerini geliştirmeyi tercih ettiler fakat bugün Yahoo tüm altyapısını Rasmus Lerdorf ’un danışmalığında PHP’ye geçirmeye çalışmakta.

Web programcılığı sadece internet programcılığını içermemekte. Bugün bir çok kurum dahili ağlarında geliştirecekleri uygulamalarını web programları ile çözümlemeye çalışıyor çünki web uygulamaları kullanıcı tarafında çalışan uygulamalara nazaran uygulamanın dağıtılması ve bakımı konularında çok daha avantajlı.

Neden PHP ?

  1. Kullanışlı ve etkili
    PHP bugüne kadar gördüğünüz öğrenilmesi ve yazılımı en kolay programlama dili. C syntax’ı (yazılım biçimi) ile okuması, takip etmesi kolay aynı zamanda C özelliklerini taşımasına rağmen C kadar katı kuralları olan bir dil değil. Sürekli büyüyen kütüphanesinin her bilgi kaynağına erişemesi ile geliştirme sürecini kısaltmakta. Aynı zamanda .NET, JAVA veya COM kütüphaneleri ile uyumlu çalışıp, kaynaklarından faydalanabiliyorsunuz.
  2. Performanslı
    PHP bugüne kadar görebileceğiniz en hızlı web programlama dili. Bugün PHP ’nin web uygulamalarında rakibi sanal makinalar olan .NET ve JAVA’dır. Sanal makinalar kendileri için sistem kaynaklarını sömürürken uygulamanız arakada çalışmak için can çekişir. Kaldı ki sanal makinaların iddası platform bağımsız olmalarıdır ve zaten bu yüzden icad edilmiştir fakat PHP farklı bir yaklaşım ile kaynakları en az kullanarak platform bağımsızlık konusunu çözümlemiştir. Bildiğiniz üzere sanal makinalar ara derlenmeden geçmiş kodları bulunduğu ortama göre son derlemeden geçirirler, bu şekilde platform bağımsız olurlar. PHP ise her platform için PHP grubu tarafından uyumlu olacak şekilde geliştirilmiştir, bu sayede arada bir sanal makinaya ihtiyaç duymaz. Ayrıca PHP’nin modüler yapısı sayesinde kullanmayacağınız modülleri sistemden çıkarıp ortamı optimize edebilirsiniz; bu ne yazık ki sanal makinalarda mevcut değildir. Bu yüzden PHP herhangibi sanal makinadan defalarca daha performanslıdır.
  3. Güvenli ve güncel
    PHP grubu en az 2 ayda bir sürüm günceller. Bu güncellemeler varsa bugların telafisini ayrıca yeni özellikleri ve optimizasyonları içermektedir. Bu sayede en güvenli ve güncel programlama dilidir.
  4. Herşeyden bağımsız (işletim sistemi, sunucu, veritabanı)
    Daha evvel bir çok kere neden bir uygulamanın sunucudan , veritabanından veya işletim sisteminden bağımsız olması gerektiğinin altını çizdim. Esasında anahtar şu, eğer uygulamanız harici kaynaklardan bağımsız ise ister iş veren olun ister geliştirici kaçınılmaz bir şekilde pazarınız genişliyor ve tercih sebebi oluyorsunuz. .NET framework her ne kadar Microsoft tarafından platform bağımsız olarak tanıtılsada bu Microsoft’un Windows’dan başka platformu tanımamasından kaynaklanıyor; ama bugün web sunucuları tarafında bağımsız organizasyonların yaptığı araştırma çoğunlukla Windows olmayan işletim sistemlerinin kullanıldığını göstermekte.Tabiki bunda daha evvel bahsettiğimiz performans ve güvenlik etkili olmakta.
  5. En başarılı açık kod projesi
    Bir çok açık kod projesi organizasyonel hatalar sonucu başarısız oluyor. Fakat PHP hiç bi zaman bu tarz sorunlarla karşılaşmadı çünki arkasında Zend firması var ve kurumsal bir çok ihtiyacı karşılıyor. Zend öylesine yabancı bir firma değil, Zend PHP’yi geliştirenlerin firması bu sebepten PHP onların çocuğu ve hiç bi zaman onu yalnız bırakmayacaklar.
Uyarı: Dökümanda görüceğiniz çoğu açıklama ve örnek PHP, Smarty, PEAR ve GTK kullanma kılavuzundan alınmıştır. Peki kılavuz yerine neden bu dökümanı okumalısınız ? Çünki kılavuz tecrübelerden ve kullanım tekniklerinden bahsetmez. Kılavuz çok geniş içeriğe sahiptir yeni başlıyorsanız içerisinde kaybolma ve bunalma ihtimaliniz var. Son olarakta ne yazık ki PHP kılavuzu Türkçe değil.

Serinin İçeriği

  1. Giriş
  2. Çalışma Prensipleri
  3. Kurulumu ve Konfigrasyon
  4. Geliştirme Ortamı / Zend Studio
  5. Yazılım Biçimi
  6. Değişiken Tipleri
  7. Nesne Özellikleri (PHP5’deki yenilikleri arayanlar için)
  8. Operatörler ve Döngüler
  9. Fonksiyonlar
  10. Diziler (Arrays) ve Katarlar (Strings)
  11. Hata Ayıklama (Debugging)
  12. Form İşlemleri
  13. Oturum Yönetimi (Sessions & Cookies)
  14. Veritabanı Bağlantıları (Veritabanı tiplerinden bağımsız uygulama geliştirmek)
  15. XML İşlemleri
  16. Web Servisleri (PHP5’deki yeniliklerden biri daha)
  17. Grafik İşlemleri (GD Kütüphaneleri)
  18. Harici Kütüphanelerin Kullanılması
  19. Macromedia Flash İşlemleri (Mind Kütüphaneleri)
  20. SMARTY (PHP Arayüz motoru)
  21. PEAR (PHP kütüphanelerine eklenti)
  22. GTK+ (PHP ile görsel programlama)
Seriyi Hazırlayan : Sadun Sevingen (C#nedir?com Mono Bölümü Editörü)
Makale:
Seri 1 - PHP 5 ve Platform Bağımsız Temel Web Programcılığı PHP ile Programlama Ahmet İpek
  • Yazılan Yorumlar
  • Yorum Yaz
MAY
1
2006
eline sağlık çok güzel bir yazı olmuş. devamını bekliyorum. kolay gelsin.
HAZ
8
2005
Hocam okuyucuların bu anlatım tarzıyla bir kitaba ihtiyacımız var.. php de şu giriş seviyesinden bir kendimizi kurtaramadık performans,code optimizasyonu,güvenlik nedense makale yazmaya başlayanlar hep giriş seviyesinden başlar ve olay bir şekilde kesintiye uğradığında hiçbir zaman ileri konulara geçilmez..Sizden ricamız orta ve üst seviye konuların burda işlenmesi..5 makale bizi kesmedi insan başka yokmu başka yomu diye sayfaların altına bakıyor:) Saygılar..
MAY
29
2005
merhaba yaklaşık 3 senedir php ile uğraşıyorum. küçlü yapısı ve geniş kütüphaneleri hayatımı hiç olmadığı kadar kolaylaştırdı. ancak aklımda php 5 ile ilgili sorular ve sorunlar var. öncelikle php5 neden 4.3 kadar stabil çalışamıyor. diğer sorularımı ise zamanla paylaşmak isterim saygılarımla mail adresim : [email protected]
ŞUB
27
2005
merhaba hersey cok guzel olmus ama su video da bir de sesli anlatim yapsaydin daha anlasilir olurdu..
ŞUB
6
2005
yazının devamını dört gözle beklemekteyim
OCA
31
2005
Böyle bir serinin yayınlanmasından dolayı çok sevindim PHP ile hiç ilgim olmamasına rağmen. Bu seriyi takip edersem ön bilgi hatta fazlası olcak galiba. Keşke diyorum diğer bölümlerde de böyle seriler yayınlansa. Birbirinden bağımsız makaleler arasında kaybolmasak. Mesela C# ile OOP çok iyi olur bence. Hatta böyle bir serinin yayınlanmasını isteyenleri ölçmek için bir anket bile yapılabilir. Şimdiden teşekkür ediyorum siz C# ile OOP serisinin değerli yazarına (yazarlarına)...
OCA
24
2005
Asp.nete oranla iyi bir başlangıç olmuş.Ben herşeyden çok php5in geliştirme ortamını merak etmekteyim.Sadun usta yazılar için teşekkürler ileriki yazılarında işallah bunun gibi kaliteli bol bol screenshotlı olur byes
OCA
19
2005
lütfen artık tamamen konuya gir. inan sabırsızlanıyorum. acilen uygulamaya geçmem lazım.
OCA
13
2005
İyi bir başlangıç olmuş eline sağlık umarım geriside en kısa zamanda gelir :)
OCA
12
2005
Ellerine Sağlık Çok Güzel Yazmışsın Yazının devamını bekliyoruz. Başarılar.
OCA
11
2005
Sadun kardeş sağolasın.ASP.NET le proje geliştirdikten sonra bunu PHP ile yazıcaktım ii isabet oldu senin yazıların.Tebrikler ve Sağol
OCA
11
2005
Şu anda ASP.NET i öğreniyorum bu yazı ile birlikte sanırım PHP5 başlayacağım ve böylelikle bu ikisinide karşılaştırmış olacağım yazının devamını için bende sabırsızlanmaya başladım
OCA
11
2005
Bu güzel yazı dizisi sayesinde Php5 ile web programcılığına sonunda başlayacağım galiba :) Ellerine sağlık Sadun.
OCA
11
2005
Güzel bir yazı olmuş devamını dört gözle bekliyorum.
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor