0
GELECEĞİN GELİŞTİRİCİLERİ
İÇİN PHP PROGRAMLAMA DİLİ
VE ÖNERİLER
MUSTAFA İLERİ VE OSMAN ÜNGÜR
Nİsan 2014
DISECLUB 3. BİLİŞİ...
Mustafa İlerİ
@mustafaileri
http://tr.linkedin.com/in/mustafaileri
mi@mustafaileri.com
www.mustafaileri.com
https://github...
OSMAN ÜNGÜR
@osmanung
tr.linkedin.com/in/osmanungur
osmanungur@gmail.com
github.com/o
php nedİr?
PHP sunucu taraflı, web uygulamaları için dizayn edilmiş ve genel
amaçlarla için de kullanılan bir programlama ...
php nedİr?
PHP kodları direkt şekilde HTML kodları içerisine gömülebilir.
"PHP Lisansı" ile lisanslandırılmış özgür bir ya...
Php' NİN TARİHÇESİ
İlk 1995 yılında PHP/FI adıyla Rasmus Lerdorf tarafından
yayınlanmıştır.
Bu ilk sürüm bugün ki PHP sürü...
Php' NİN TARİHÇESİ
Aynı yıl Zeev Suraski ve Andi Gutmans PHP'nin yorumlayıcısını
yeniden yazarak PHP 3'ün temelini atmışla...
Php' NİN TARİHÇESİ
2004 yılında Zend Engine 2'yi temel alan PHP 5 yayınlanmıştır. Bu
sürüm Nesnel yönelimli programlama ve...
Php kullanan şİrketler
PHP KullaNIM İSTATİSTİKLERİ
PHP: 81.9
ASP.NET: 17.8
JAVA: 2.7
ColdFusion: 0.8
Perl: 0.6
Ruby: 0.5
Python: 0.2
Javascript: ...
POPÜLER PHP SÜRÜMLERİ
POPÜLER PHP UYGULAMALARI
WORDPRESS
WordPress, GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir
kişisel yayın sistemidir.
Wordpress bir CMS (Con...
JOOMLA
Joomla!, PHP ve MySQL ile MVC olarak geliştrilimiş açık kaynaklı bir
içerik yönetim sistemidir.
Kaliteli arayüzü ve...
DRUPAL
Drupal ücretsiz ve açık kaynaklı bir içerik yönetim sistemidir.
Modüler yapısı sayesinde, web uygulama çatısı, topl...
MAGENTO
2008 yılında ilk sürümü yayınlanmıştır.
W3Techs'e göre dünya üzerindeki websitelerinin %1'i tarafından
kullanılmak...
POPÜLER PHP UYGULAMA Çatıları
Geliştime Çatısı (Framework): Tutarlı ve disiplinli yazılım gelişrimek
için kullanılan kütüp...
POPÜLER PHP UYGULAMA Çatıları
DÜnya Genelİnde PHP Topluluklari
ve Semİnerlerİ
Sadece Zend' e kayıtlı 87 yerel php topluluğu bulunmaktadır.
Bu toplulukla...
PHP İle Teknolojİ Üreten Şİrketler
Özgür Yazılımın Gücü
Özgür bir lisansa sahip olan PHP'yi kullanmak için tek kuruş lisans
ücreti ödemenize gerek yoktur.
PH...
Özgür Yazılımın Gücü
Dünyada yüzbinlerce kurum ve insan özgür lisanslarla yayınlanan
PHP uygulamalarını kullanıyor.
Açık k...
Sosyal kodlama ağları
Dünya üzerindeki geliştiricilerin açık kaynak olarak geliştirdiği
projeleri herkese açık hale getirm...
GITHUB' DAKİ PHP KULLANIMI
PHP' NİN Güçlü Yönlerİ
Kolay kurulum
Düşük öğrenme eğrisi
Geniş dökümantasyon
Yazılmış binlerce kitap
İnternet üzerinden u...
PHP' NİN Zayıf Yönlerİ
Multithreading olmaması
Duck typing
Type juggling
Fonksiyonlardaki tutarsızlıklar
Kompleks hata mek...
PHP' de Rönesans Hareketlerİ
Sosyal kodlama platformlarının yükselişine paralel olarak özellikle
web ve mobil ortamlarda d...
PHP' de Rönesans Hareketlerİ
Kodlama standartları: PSR-0, PSR-1, PSR-2, PSR-3
Performans: HipHop Virtual Machine
Standartl...
Dünyada Karİyer Fırsatları
5.200+ İŞ İlanı
21.000+ İŞ İlanı
Türkİye' de Durum
200+ İŞ İlanı
180+ İŞ İlanı
GELECEĞİN GELİŞTİRİCİLERİNE ÖNERİLER
VERSİYONLAMA SİSTEMLERİ
Versiyon kontrolu bir yazılımın revizyonlar halinde guncellenerek
gelistirilmesini saglar. Boylece...
İŞ TAKİP SİSTEMLERİ
Yazılım projesi geliştirme süreçlerinin vazgeçilmezidir. Özellikle
takım çalışmalarında işlerin paylaş...
PAKET YÖNETİCİLERİ
Paket yöneticileri uygulamanızın ihtiyacı olan kütüphanelerin sürüm
kontrollü olarak uygulamanıza eklen...
HTML,CSS ve JS uygulamaları gelişen trendlerle önyüz
geliştiricilerinin sorumluluğunda olsa dahi bütün web geliştiriciler
...
JavaScript Netscape Navigator 2.0 ile birlikte Brendan Eich
tarafından geliştirilen ve önceleri Mocha daha sonra LiveScrip...
VERİTABANLARI
Veritabanları, uygulamanıza ait verilerin mantıksal bir hiyerarşi
içerisinde fiziksel olarak saklanmasını sa...
NESNE YÖNELİMLİ PROGRAMLAMA
Nesne yönelimli programlama (NYP), (İngilizce:Object Oriented
Programming) özetle bir bilgisay...
NESNE YÖNELİMLİ PROGRAMLAMA
Lütfen şu terimleri araştırın ve bilgi sahibi olun:
* Encapsulation
* Data Abstraction
* Polym...
NESNE YÖNELİMLİ PROGRAMLAMA
Single Responsibility Princible
Open/Closed Princible
Liskov Substitution Principle
Interface ...
ÖNBELLEKLEME SİSTEMLERİ
Önbellekleme sistemleri, pahalı veya tekrarlayan veritabanı
sorguları, ağ ve dosya erişimlerini sa...
MODERN MİMARİLER
PHP, Servis yönelimli mimariler (SOA) yönünden REST ve SOAP
yapıları ile uyumlu şekilde çalışmaktadır.
Bu...
TEST YÖNELİMLİ PROGRAMLAMA
Kısa geliştirme süreçlerinin tekrarlarına dayalı bir yazılım geliştirme
sürecidir. TEST ODAKLI ...
TEST YÖNELİMLİ PROGRAMLAMA
Neden Birim Test Yazmalıyız?
Kod kaynaklı sorunları daha rahat bulabilmek.
Kod üzerinde daha ra...
PHP-İST TOPLULUĞU
Upcoming SlideShare
Loading in...5
×

Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler

2,491

Published on

Dogus Universitesi Bilisim Klubunun Duzenledigi 3. Bilisim Kongresi' nde gelecegin gelistiricileri icin PHP hakkinda bilgiler.

Published in: Education
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,491
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
17
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Transcript of "Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler"

  1. 1. GELECEĞİN GELİŞTİRİCİLERİ İÇİN PHP PROGRAMLAMA DİLİ VE ÖNERİLER MUSTAFA İLERİ VE OSMAN ÜNGÜR Nİsan 2014 DISECLUB 3. BİLİŞİM KONGRESİ
  2. 2. Mustafa İlerİ @mustafaileri http://tr.linkedin.com/in/mustafaileri mi@mustafaileri.com www.mustafaileri.com https://github.com/mustafaileri http://www.slideshare.net/mustafaileri
  3. 3. OSMAN ÜNGÜR @osmanung tr.linkedin.com/in/osmanungur osmanungur@gmail.com github.com/o
  4. 4. php nedİr? PHP sunucu taraflı, web uygulamaları için dizayn edilmiş ve genel amaçlarla için de kullanılan bir programlama dilidir. PHP kodu bir web sunucusu tarafından PHP yorumlayıcı modül vasıtasıyla bir web sayfası oluşturur. Komut satırı arayüzü üzerinden çalıştırılabilir.
  5. 5. php nedİr? PHP kodları direkt şekilde HTML kodları içerisine gömülebilir. "PHP Lisansı" ile lisanslandırılmış özgür bir yazılımdır. PHP neredeyse tüm platformlar ve işletim sistemlerinde çalıştırılabilir, ücretsizdir.
  6. 6. Php' NİN TARİHÇESİ İlk 1995 yılında PHP/FI adıyla Rasmus Lerdorf tarafından yayınlanmıştır. Bu ilk sürüm bugün ki PHP sürümlerinin temelini oluşturur. 1997'de PHP/FI 2 sürümü yayınlanmıştır.
  7. 7. Php' NİN TARİHÇESİ Aynı yıl Zeev Suraski ve Andi Gutmans PHP'nin yorumlayıcısını yeniden yazarak PHP 3'ün temelini atmışlardır. 1999 yılında Suraski ve Gutmans PHP'nin çekirdeğini yeniden yazmışlar ve Zend Engine'i ortaya çıkarmışlardır. 2000 yılında Zend Engine'i temel alan PHP 4 sürümü yayınlanmıştır. 2008 yılına dek bu sürüm güncellenmeye devam etmiştir.
  8. 8. Php' NİN TARİHÇESİ 2004 yılında Zend Engine 2'yi temel alan PHP 5 yayınlanmıştır. Bu sürüm Nesnel yönelimli programlama ve PDO gibi özelliklerle gelmiştir. 2009 yılında geliştirilmeye başlanan PHP 6 2010 yılında sonlandırılmıştır. Şu an da PHP 5.4 ve PHP 5.5 sürümü aktif olarak geliştirilmeye devam etmektedir.
  9. 9. Php kullanan şİrketler
  10. 10. PHP KullaNIM İSTATİSTİKLERİ PHP: 81.9 ASP.NET: 17.8 JAVA: 2.7 ColdFusion: 0.8 Perl: 0.6 Ruby: 0.5 Python: 0.2 Javascript: 0.1 Kaynak: http://w3techs.com/technologies/overview/programming_language/all
  11. 11. POPÜLER PHP SÜRÜMLERİ
  12. 12. POPÜLER PHP UYGULAMALARI
  13. 13. WORDPRESS WordPress, GPL lisanslı, PHP ve MySQL kullanılarak yazılmış bir kişisel yayın sistemidir. Wordpress bir CMS (Content Management System / İçerik Yönetim Sistemi)'dir. Bu niteliği ile sadece makale yazma ve düzenleme veya blog sistemi olarak değil, her türlü içeriğin düzenlenip yayımlanabileceği bir platform olduğu anlamına gelmektedir Google tarafından çok hızlı indexlenir ve sayfa açılışları hızlıdır. WordPress'in kökleri ve gelişimi 2001'e kadar uzanır.
  14. 14. JOOMLA Joomla!, PHP ve MySQL ile MVC olarak geliştrilimiş açık kaynaklı bir içerik yönetim sistemidir. Kaliteli arayüzü ve gelişmiş içerik yönetim mantığı ile dünyada çokça tercih edilir. Türkçe desteği sağlıklı olmakla beraber tamamıyla yapılandırılabilir ve çok esnek bir sistem olduğundan birçok ağ sayfası tasarımcısı bu sistemi kullanmaktadır. İlk sürümü (Joomla! 1.0.0) 17 Ekim 2005 tarihinde yayımlanmıştır. Bu sürüm Mambo 4.5.2.3 sürümünün çeşitli iyileştirmelerle tekrar yayımlanmış olan sürümüdür.
  15. 15. DRUPAL Drupal ücretsiz ve açık kaynaklı bir içerik yönetim sistemidir. Modüler yapısı sayesinde, web uygulama çatısı, topluluk portalı, forum ya da blog motoru olarak da kullanılabilmektedir. 2000'li yılların ortalarında Drupal esneklik, genişleyebilirlik, yönetim kolaylığı ve etkin bir topluluğun desteği ile popülerlik kazanmıştır. Drupal PHP programlama dili ile yazılmıştır. Bununla birlikte Drupal tabanlı bir web sitesinin kurulumu, geliştirilmesi ve bakım genellikle PHP programlama becerisi gerektirmemektedir.
  16. 16. MAGENTO 2008 yılında ilk sürümü yayınlanmıştır. W3Techs'e göre dünya üzerindeki websitelerinin %1'i tarafından kullanılmaktadır. 200.000 E-Ticaret websitesi bu platform ile çalışmaktadır. Diğer Örnekler Opencart OS Commerce Prestashop
  17. 17. POPÜLER PHP UYGULAMA Çatıları Geliştime Çatısı (Framework): Tutarlı ve disiplinli yazılım gelişrimek için kullanılan kütüphaneler ve kurallar bütünüdür. En çok bilinen ve kullanılan PHP Uygulama Çatıları:
  18. 18. POPÜLER PHP UYGULAMA Çatıları
  19. 19. DÜnya Genelİnde PHP Topluluklari ve Semİnerlerİ Sadece Zend' e kayıtlı 87 yerel php topluluğu bulunmaktadır. Bu topluluklar etkinlikler atölye çalışmaları ve tanışma toplantıları düzenlerler. Türkiye' deki atkif toplulukları PHP-İST, PHP-TR ve PHPKonf. Dünya Genelinde Etkinlikler: SymfonyLive ZendCon PHP UK
  20. 20. PHP İle Teknolojİ Üreten Şİrketler
  21. 21. Özgür Yazılımın Gücü Özgür bir lisansa sahip olan PHP'yi kullanmak için tek kuruş lisans ücreti ödemenize gerek yoktur. PHP ile yazdığınız web sitenizi çalıştırmak için yine ücretsiz olarak dağıtılan bir Linux dağıtımı kullanabilirsiniz. PHP ile beraber kullanabileceğiniz bir çok ücretsiz açık kaynak veritabanı sistemi mevcuttur.
  22. 22. Özgür Yazılımın Gücü Dünyada yüzbinlerce kurum ve insan özgür lisanslarla yayınlanan PHP uygulamalarını kullanıyor. Açık kaynak kod, uygulama kodunun tümüne erişebilmeniz anlamına geliyor. Dilerseniz açık kaynak uygulamaların kaynak kodunu kendinize göre özelleştirebilir, değiştirebilir ve bu şekilde kullanabilirsiniz.
  23. 23. Sosyal kodlama ağları Dünya üzerindeki geliştiricilerin açık kaynak olarak geliştirdiği projeleri herkese açık hale getirmesi ve projelerin gelişmesine destek oldukları platformlardır. Geliştiricilerin facebook'u şeklinde tanımlayabiliriz.
  24. 24. GITHUB' DAKİ PHP KULLANIMI
  25. 25. PHP' NİN Güçlü Yönlerİ Kolay kurulum Düşük öğrenme eğrisi Geniş dökümantasyon Yazılmış binlerce kitap İnternet üzerinden ulaşabileceğiniz makaleler Kolayca yayınlama Güçlü dil özellikleri Geniş framework ve kütüphane yelpazesi
  26. 26. PHP' NİN Zayıf Yönlerİ Multithreading olmaması Duck typing Type juggling Fonksiyonlardaki tutarsızlıklar Kompleks hata mekanizması Derlenmiyor oluşundan gelen performans problemleri
  27. 27. PHP' de Rönesans Hareketlerİ Sosyal kodlama platformlarının yükselişine paralel olarak özellikle web ve mobil ortamlarda daha modern daha kullanışlı ve daha fazla rağbet gören teknolojiler ortaya çıkmaya başladı. Php dünyası ilk zamanlarda bu modernleşmeye pek ayak uyduramasa da son zamanlarda yenilenme ve gelişme konusunda büyük yol katetti.
  28. 28. PHP' de Rönesans Hareketlerİ Kodlama standartları: PSR-0, PSR-1, PSR-2, PSR-3 Performans: HipHop Virtual Machine Standartlaşan Kütüphaneler: Guzzle, Symfony Routing Paket Yöneticisi: Composer Güçlü Frameworkler: Symfony2, Zend2, Laravel Dil üzerinde yapılan geliştirmeler: Dahili web sunucu, closure class, anonymous functions... Daha fazla bilgi için : http://www.phptherightway.com/
  29. 29. Dünyada Karİyer Fırsatları 5.200+ İŞ İlanı 21.000+ İŞ İlanı
  30. 30. Türkİye' de Durum 200+ İŞ İlanı 180+ İŞ İlanı
  31. 31. GELECEĞİN GELİŞTİRİCİLERİNE ÖNERİLER
  32. 32. VERSİYONLAMA SİSTEMLERİ Versiyon kontrolu bir yazılımın revizyonlar halinde guncellenerek gelistirilmesini saglar. Boylece gelistirilen yazılımın gectigi surecler rahatca takip edilebilir.
  33. 33. İŞ TAKİP SİSTEMLERİ Yazılım projesi geliştirme süreçlerinin vazgeçilmezidir. Özellikle takım çalışmalarında işlerin paylaşımlarını ve takibini kolaylaştıran yazılımlardır.
  34. 34. PAKET YÖNETİCİLERİ Paket yöneticileri uygulamanızın ihtiyacı olan kütüphanelerin sürüm kontrollü olarak uygulamanıza eklenmesini sağlar. PEAR paketleri sistem genelinde tüm projelerde kullanılabilirken Composer paketleri her projeye özel şekilde kurulur ve kullanılır.
  35. 35. HTML,CSS ve JS uygulamaları gelişen trendlerle önyüz geliştiricilerinin sorumluluğunda olsa dahi bütün web geliştiriciler kendini ifade edebilecek kadar html, css ve js bilmek zorundadır. HTML(Hyper Text Markup Language) : Günümüzde İnternet üzerinde veri paylaşımı için kullanılan en yaygın metin tabanlı dildir. Dilin son sürümü HTML5' tir. CSS(Cascading Style Sheets): HTML'e ek olarak metin ve format biçimlendirme alanında fazladan olanaklar sunan bir Web teknolojisidir. Güncel sürüm CSS3' tür. Html / CSS
  36. 36. JavaScript Netscape Navigator 2.0 ile birlikte Brendan Eich tarafından geliştirilen ve önceleri Mocha daha sonra LiveScript olarak adlandırılan ve en sonunda şu anki adını alan JavaScript dili başlangıçta sadece istemci taraflı (client-side) yorumlanan bir betik dilidir. Son kararlı sürüm 1.8.5'tir. Günümüzde NodeJS teknolojisi ile server taraflı da (server-side) yorumlanan betik dili haline geldi. Javascrıpt
  37. 37. VERİTABANLARI Veritabanları, uygulamanıza ait verilerin mantıksal bir hiyerarşi içerisinde fiziksel olarak saklanmasını sağlar.
  38. 38. NESNE YÖNELİMLİ PROGRAMLAMA Nesne yönelimli programlama (NYP), (İngilizce:Object Oriented Programming) özetle bir bilgisayar programlama yaklaşımıdır. Günümüzde pek çok çağdaş programlama dili tarafından desteklenmektedir. Bilgi gizleme (encapsulation), veri soyutlama (data abstraction), çok biçimlilik (polymorphism) ve kalıtım (inheritance) gibi yazılımın bakımını ve aynı yazılım üzerinde birden fazla kişinin çalışmasını kolaylaştıran kavramları da yazılım literatürüne kazandırmıştır.
  39. 39. NESNE YÖNELİMLİ PROGRAMLAMA Lütfen şu terimleri araştırın ve bilgi sahibi olun: * Encapsulation * Data Abstraction * Polymorphism * Inheritance
  40. 40. NESNE YÖNELİMLİ PROGRAMLAMA Single Responsibility Princible Open/Closed Princible Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle Don't Repeat Yourself Keep It Simple Stupid
  41. 41. ÖNBELLEKLEME SİSTEMLERİ Önbellekleme sistemleri, pahalı veya tekrarlayan veritabanı sorguları, ağ ve dosya erişimlerini saklayarak hızlıca erişmenizi sağlar.
  42. 42. MODERN MİMARİLER PHP, Servis yönelimli mimariler (SOA) yönünden REST ve SOAP yapıları ile uyumlu şekilde çalışmaktadır. Bu yapılar uygulamanızın bir servis şeklinde çalışmasını, XML ve JSON veri biçimleri vasıtasıyla diğer yapılarla (önyüzler ve entagrasyon sistemleri) ile haberleşmesini sağlar.
  43. 43. TEST YÖNELİMLİ PROGRAMLAMA Kısa geliştirme süreçlerinin tekrarlarına dayalı bir yazılım geliştirme sürecidir. TEST ODAKLI Geliştirme sürecinin temelinde testler vardır. Kent Beck tarafından ortaya atılmıştır. Microsoft ve IBM' in yaptığı araştırmaya göre test yazmak, geliştirme sürecini %15 - %35 uzatırken, projedeki hata sayısını (bug) %40 - %90 azaltıyor.
  44. 44. TEST YÖNELİMLİ PROGRAMLAMA Neden Birim Test Yazmalıyız? Kod kaynaklı sorunları daha rahat bulabilmek. Kod üzerinde daha rahat değişiklik yapabilmeyi sağlamak. Entegrasyon ve kullanıcı testi süreçlerini daha rahat geçirebilmek. Yazdığımız kodların kullanım örneklerini sağlamak. Daha iyi kod yazabilmek.
  45. 45. PHP-İST TOPLULUĞU
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×