SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
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İ
Mustafa İlerİ
@mustafaileri
http://tr.linkedin.com/in/mustafaileri
mi@mustafaileri.com
www.mustafaileri.com
https://github.com/mustafaileri
http://www.slideshare.net/mustafaileri
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 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.
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.
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.
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.
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.
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: 0.1
Kaynak: http://w3techs.com/technologies/overview/programming_language/all
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 (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.
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.
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.
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
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ı:
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 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
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.
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.
Ö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.
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.
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 ulaşabileceğiniz makaleler
Kolayca yayınlama
Güçlü dil özellikleri
Geniş framework ve kütüphane yelpazesi
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
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.
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/
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 gelistirilen yazılımın gectigi
surecler rahatca takip edilebilir.
İŞ 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.
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.
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
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
VERİTABANLARI
Veritabanları, uygulamanıza ait verilerin mantıksal bir hiyerarşi
içerisinde fiziksel olarak saklanmasını sağlar.
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.
NESNE YÖNELİMLİ PROGRAMLAMA
Lütfen şu terimleri araştırın ve bilgi sahibi olun:
* Encapsulation
* Data Abstraction
* Polymorphism
* Inheritance
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
ÖNBELLEKLEME SİSTEMLERİ
Önbellekleme sistemleri, pahalı veya tekrarlayan veritabanı
sorguları, ağ ve dosya erişimlerini saklayarak hızlıca erişmenizi
sağlar.
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.
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.
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.
PHP-İST TOPLULUĞU

Contenu connexe

En vedette

Programlama Dilleri
Programlama DilleriProgramlama Dilleri
Programlama Dilleriarifakcay
 
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber Riskler
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber RisklerİstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber Riskler
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber RisklerBGA Cyber Security
 
Yazılım Güvenliği Temelleri
Yazılım Güvenliği TemelleriYazılım Güvenliği Temelleri
Yazılım Güvenliği TemelleriBGA Cyber Security
 
IstSec'14 - Seyfullah KILIÇ - Sosyal Mühendisilk
IstSec'14 - Seyfullah KILIÇ - Sosyal MühendisilkIstSec'14 - Seyfullah KILIÇ - Sosyal Mühendisilk
IstSec'14 - Seyfullah KILIÇ - Sosyal MühendisilkBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3BGA Cyber Security
 
Scalability performance on_php
Scalability performance on_phpScalability performance on_php
Scalability performance on_phpMustafa Ileri
 
Mobil Kullanıcı Deneyimi Tasarimi Eğitimi
Mobil Kullanıcı Deneyimi Tasarimi EğitimiMobil Kullanıcı Deneyimi Tasarimi Eğitimi
Mobil Kullanıcı Deneyimi Tasarimi EğitimiUserspots
 
Twitter Üzerinde Güvenlik ve Gizlilik Ayarları
Twitter Üzerinde Güvenlik ve Gizlilik AyarlarıTwitter Üzerinde Güvenlik ve Gizlilik Ayarları
Twitter Üzerinde Güvenlik ve Gizlilik AyarlarıBGA Cyber Security
 
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit Yöntemleri
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit YöntemleriSosyal Medyada Psikolojik Harekat Teknikleri ve Tespit Yöntemleri
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit YöntemleriBGA Cyber Security
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar AğlarıFaik GÜNAY
 
Hackerların Gözünden Bilgi Güvenliği
Hackerların Gözünden Bilgi GüvenliğiHackerların Gözünden Bilgi Güvenliği
Hackerların Gözünden Bilgi GüvenliğiBGA Cyber Security
 
Siber güvenlik ve hacking
Siber güvenlik ve hackingSiber güvenlik ve hacking
Siber güvenlik ve hackingAlper Başaran
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6BGA Cyber Security
 
Bilgi Güvenliği Farkındalık Eğitim Sunumu
Bilgi Güvenliği Farkındalık Eğitim SunumuBilgi Güvenliği Farkındalık Eğitim Sunumu
Bilgi Güvenliği Farkındalık Eğitim SunumuBGA Cyber Security
 

En vedette (20)

Programlama Dilleri
Programlama DilleriProgramlama Dilleri
Programlama Dilleri
 
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber Riskler
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber RisklerİstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber Riskler
İstSec'14 - Hamza Şamlıoğlu - Sosyal Medya ve Siber Riskler
 
Yazılım Güvenliği Temelleri
Yazılım Güvenliği TemelleriYazılım Güvenliği Temelleri
Yazılım Güvenliği Temelleri
 
Mobil Pentest Örnek Not
Mobil Pentest Örnek NotMobil Pentest Örnek Not
Mobil Pentest Örnek Not
 
Kablosuz Ağlarda Güvenlik
Kablosuz Ağlarda GüvenlikKablosuz Ağlarda Güvenlik
Kablosuz Ağlarda Güvenlik
 
IstSec'14 - Seyfullah KILIÇ - Sosyal Mühendisilk
IstSec'14 - Seyfullah KILIÇ - Sosyal MühendisilkIstSec'14 - Seyfullah KILIÇ - Sosyal Mühendisilk
IstSec'14 - Seyfullah KILIÇ - Sosyal Mühendisilk
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
 
Scalability performance on_php
Scalability performance on_phpScalability performance on_php
Scalability performance on_php
 
Ağ temelleri
Ağ temelleriAğ temelleri
Ağ temelleri
 
Mobil Kullanıcı Deneyimi Tasarimi Eğitimi
Mobil Kullanıcı Deneyimi Tasarimi EğitimiMobil Kullanıcı Deneyimi Tasarimi Eğitimi
Mobil Kullanıcı Deneyimi Tasarimi Eğitimi
 
Ağ Temelleri
Ağ TemelleriAğ Temelleri
Ağ Temelleri
 
Twitter Üzerinde Güvenlik ve Gizlilik Ayarları
Twitter Üzerinde Güvenlik ve Gizlilik AyarlarıTwitter Üzerinde Güvenlik ve Gizlilik Ayarları
Twitter Üzerinde Güvenlik ve Gizlilik Ayarları
 
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit Yöntemleri
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit YöntemleriSosyal Medyada Psikolojik Harekat Teknikleri ve Tespit Yöntemleri
Sosyal Medyada Psikolojik Harekat Teknikleri ve Tespit Yöntemleri
 
Bilgisayar Ağları
Bilgisayar AğlarıBilgisayar Ağları
Bilgisayar Ağları
 
Sizma testi bilgi toplama
Sizma testi bilgi toplamaSizma testi bilgi toplama
Sizma testi bilgi toplama
 
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi SunumuBilgi Güvenliği Farkındalık Eğitimi Sunumu
Bilgi Güvenliği Farkındalık Eğitimi Sunumu
 
Hackerların Gözünden Bilgi Güvenliği
Hackerların Gözünden Bilgi GüvenliğiHackerların Gözünden Bilgi Güvenliği
Hackerların Gözünden Bilgi Güvenliği
 
Siber güvenlik ve hacking
Siber güvenlik ve hackingSiber güvenlik ve hacking
Siber güvenlik ve hacking
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
 
Bilgi Güvenliği Farkındalık Eğitim Sunumu
Bilgi Güvenliği Farkındalık Eğitim SunumuBilgi Güvenliği Farkındalık Eğitim Sunumu
Bilgi Güvenliği Farkındalık Eğitim Sunumu
 

Similaire à Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler

Internet programcılığı 1
Internet programcılığı 1Internet programcılığı 1
Internet programcılığı 1Erol Dizdar
 
Web ortamında çoklu ortam tasarımı
Web ortamında çoklu ortam tasarımıWeb ortamında çoklu ortam tasarımı
Web ortamında çoklu ortam tasarımıyasin uyar
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYusuf AYTİN
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-iemre61
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web GeliştiriciliğiBurak Oğuz
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuAhmet S.
 
PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)Fatih Çal
 
Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Haluk YILMAZ
 
Mobil platformlarin karsilastirilmasi
Mobil platformlarin karsilastirilmasiMobil platformlarin karsilastirilmasi
Mobil platformlarin karsilastirilmasiNilgun Ozdamar
 
Ionic & Cross Platform Teknolojisi
Ionic & Cross Platform TeknolojisiIonic & Cross Platform Teknolojisi
Ionic & Cross Platform TeknolojisiKORHAN ÖZBEK
 
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kamil Çömlekçi
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017Serhat Dirik
 
Kelime İşlemcilere Genel Bir Bakış
Kelime İşlemcilere Genel Bir BakışKelime İşlemcilere Genel Bir Bakış
Kelime İşlemcilere Genel Bir Bakışefedincer
 

Similaire à Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler (20)

Internet programcılığı 1
Internet programcılığı 1Internet programcılığı 1
Internet programcılığı 1
 
Web ortamında çoklu ortam tasarımı
Web ortamında çoklu ortam tasarımıWeb ortamında çoklu ortam tasarımı
Web ortamında çoklu ortam tasarımı
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-i
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
C Sharp ve .NET
C Sharp ve .NETC Sharp ve .NET
C Sharp ve .NET
 
C Sharp ve .NET
C Sharp ve .NETC Sharp ve .NET
C Sharp ve .NET
 
Uni stay 2017-2018
Uni stay 2017-2018 Uni stay 2017-2018
Uni stay 2017-2018
 
Open Your Source
Open Your SourceOpen Your Source
Open Your Source
 
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformuYazılım ve-yazılımcı-nedir- net-ve-net-platformu
Yazılım ve-yazılımcı-nedir- net-ve-net-platformu
 
PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)PHP - Ders I (PHP'ye Giriş)
PHP - Ders I (PHP'ye Giriş)
 
Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009Mono Teknolojileri Seminerim 2009
Mono Teknolojileri Seminerim 2009
 
Mobil platformlarin karsilastirilmasi
Mobil platformlarin karsilastirilmasiMobil platformlarin karsilastirilmasi
Mobil platformlarin karsilastirilmasi
 
Ionic & Cross Platform Teknolojisi
Ionic & Cross Platform TeknolojisiIonic & Cross Platform Teknolojisi
Ionic & Cross Platform Teknolojisi
 
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
Kütüphanelerde Web Sitesi Hazırlama ve Uygulama Semineri (FrontPage)
 
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
 
Kelime İşlemcilere Genel Bir Bakış
Kelime İşlemcilere Genel Bir BakışKelime İşlemcilere Genel Bir Bakış
Kelime İşlemcilere Genel Bir Bakış
 
Php veritabani
Php veritabaniPhp veritabani
Php veritabani
 

Gelecegin Gelistiricileri Icin PHP Programlama Dili ve Oneriler

  • 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İ
  • 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. 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. 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. 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. 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.
  • 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
  • 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. 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. 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. 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. 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. POPÜLER PHP UYGULAMA Çatıları
  • 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. PHP İle Teknolojİ Üreten Şİrketler
  • 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. Ö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. 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. GITHUB' DAKİ PHP KULLANIMI
  • 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. 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. 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. 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. Dünyada Karİyer Fırsatları 5.200+ İŞ İlanı 21.000+ İŞ İlanı
  • 30. Türkİye' de Durum 200+ İŞ İlanı 180+ İŞ İlanı
  • 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. İŞ 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. 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. 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. 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. VERİTABANLARI Veritabanları, uygulamanıza ait verilerin mantıksal bir hiyerarşi içerisinde fiziksel olarak saklanmasını sağlar.
  • 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. NESNE YÖNELİMLİ PROGRAMLAMA Lütfen şu terimleri araştırın ve bilgi sahibi olun: * Encapsulation * Data Abstraction * Polymorphism * Inheritance
  • 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. ÖNBELLEKLEME SİSTEMLERİ Önbellekleme sistemleri, pahalı veya tekrarlayan veritabanı sorguları, ağ ve dosya erişimlerini saklayarak hızlıca erişmenizi sağlar.
  • 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. 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. 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.