SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
EMRE
YILMAZFull Stack Web Developer & Consultant
twitter.com/delirehberi
github.com/delirehberi
linkedin.com/in/delirehberi
SYMFONY 3
En iyinin daha iyisi
“Symfony neydi? Symfony emekti!
-Fabien Potencier
“« Symfony is a set of PHP
Components, a Web Application
framework, a Philosophy, and a
Community — all working together
in harmony. »
-Sensio Labs
SYMFONY NEYDİ?
➤ 2005 Yılından beri
➤ SensioLabs önderliğinde
➤ Sürüsüyle bundle ( KNPLabs derki 2740 adet )
➤ 1393 kod geliştirici
➤ 1049 dökümantasyon yazan insan
➤ Mikro ve Makro ölçekli tüm web uygulamaları için
Ah şu Symfony olmasa.
http://symfony.com/projects
6
SEMANTIC
VERSIONING
YANİ ?
➤ Major
➤ Uyumsuz API değişiklikleri
➤ Modası geçmişlerin ölümü (deprecated)
➤ Bağımlı olunan php versiyonu da yükselir (major/minor)
➤ Minor
➤ Yeni özellikler eklenir ( Geriye uyumludur )
➤ Varolan işlevini kaybedecek kısımlar modası geçmiş olarak
işaretlenir (deprecated)
➤ Patch
➤ Hata temizleme işleri ( Geriye uyumludur )
➤ Güvenlik açıkları ( Geriye uyumludur )
SYMFONY 3.0.0
Ne yenilik getirdi ?
HİÇ BİR ŞEY
Fabien daha önce söylemişti!
PEKİ YA N`OLDU ?
➤ LTS bir versiyon değil.
➤ Symfony 2.8 kodu üzerine oturuyor.
➤ Tüm modası geçmiş kısımlar temizlendi. (deprecated)
➤ Minimum PHP versiyonu 5.5.9 oldu.
➤ Geriye yönelik uyumluluk olabildiğince sağlanmaya çalışıldı.
➤ Yapısal hatalar giderildi.
➤ Yeni klasör yapısı
Bİ OLAY YOK!
Esas mesele 2.8`de
SYMFONY 2.8`E KADAR OLANLAR
➤ Microframework
➤ Form improvements
➤ Console Style Guide
➤ Deprecated service definitions
➤ Redesigned Profiler
➤ Service Auto Wiring
➤ PropertyInfo component
➤ Console improvements
➤ LDAP component
➤ Redesigned Web Debug Toolbar
MICRO FRAMEWORK
https://github.com/ismailbaskin/ufak-sf
FORM IMPROVEMENTS
HTML5 Range Input
2.7 : Choice
2.8: Date,Time,DateTime
Entity türü için query
builder’dan boş değer
dönebiliyor.
Formlar için Foundation
5 teması.
CONSOLE STYLE GUIDE
2.7`de de mevcut ancak 2.8`den itibaren kullanılmaya başlandı.

Değişken adını io olarak veriyoruz, çünkü hem girdi, hem çıktı için
kullanılıyor.
DEPRECATED SERVICE DEFINITIONS
REDESIGNED PROFILER
SERVICE AUTO WIRING
Öntanımlı olarak autowire kapalı.

Yeni bir olay değil. Spring Java
framework 10 yıl önce yaptı bunu.
PROPERTYINFO COMPONENT
Önce extractor sınıfları verilir, kendinize özel extractor
yazabilirsiniz.
CONSOLE IMPROVEMENTS
TableStyleProgressIndicator
LDAP COMPONENT
Önce servis olarak sınıfı ldap adresiyle
tanımlıyor

Ardından provider olarak ldap ayarları
ekleniyor.

Son olarak firewall olarak tanımlamalar
yapılıyor
REDESIGNED WEB DEBUG TOOLBAR
SYMFONY 3.0`DA OLAN MİNİK ŞEYLER
➤ Bazı metodlarda kullanım değişiklikleri
➤ Bazı sınıflarda namespace değişiklikleri
➤ Bazı formtype’larda ayar adı değişiklikleri
➤ Bir sürü deprecated metod silindi
➤ LoggerInterface PSR a uyduruldu
➤ Kimi commandların çağrımı değiştirildi
https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
SYMFONY 3.0`DA KLASÖR DEĞİŞİKLİKLERİ
2.3.* 2.8.* 3.0
HA DEYİNCE SYMFONY 3.0 OLMAZ
➤ Tüm deprecated kısımları güncelleyin.
➤ Symfony Upgrade Fixer ile bi kontrol edin. *
➤ Kullandığınız bundle`ları kontrol edin.
➤ Güncelleme dökümanını kontrol edin. *
* https://github.com/umpirsky/Symfony-Upgrade-Fixer
* https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
KİMLER HAZIR ?
AequasiCacheBundle FOSUserBundle SensioGeneratorBundle DoctrineCouchDBBundle
KnpGaufretteBundle GnugatPommFoundationB
undle
SLLHIsoCodesValidator DoctrineMongoDBBundle
VichUploaderBundle HTTPHeadersBundle SncRedisBundle ElaoWebProfilerExtraBun
dle
AsseticBundle IncenteevParameterHandl
er
SonataAdminBundle FOSCommentBundle
BazingaJsTranslationBundl
e
IvoryCKEditorBundle StofDoctrineExtensionsBu
ndle
FOSJsRoutingBundle
CacheFlushBundle JMSI18nRoutingBundle TacticianBundle FOSOAuthServerBundle
ControllerExtraBundle JMSSerializerBundle VisithorBundle HWIOAuthBundle
CraueFormFlowBundle KnpMenuBundle WhiteOctoberPagerFanta
Bundle
JMSAopBundle
DoctrineBundle KnpPaginatorBundle RollerworksSearchBundle JMSTranslationBundle
DoctrineCacheBundle KnpSnappyBundle AdmingeneratorGenerato
rBundle
LexikFormFilterBundle
DoctrineFixturesBundle KnpTimeBundle DoctrineMigrationsBundle PrestaSitemapBundle
DoctrinePHPCRBundle LiipImagineBundle GenemuFormBundle RabbitMqBundle
EasyAdminBundle LiuggioExcelBundle JMSDiExtraBundle RaulFraileLadyBugBundle
EkinoNewRelicBundle MopaBootstrapBundle JMSSecurityExtraBundle SimpleDoctrineMapping
FMElfinderBundle NelmioApiDocBundle LiipFunctionalTestBundle SonataMediaBundle
FOSElasticaBundle SensioDistributionBundle PropelBundle
FOSRestBundle SensioFrameworkExtraBu
ndle
RSQueueBundle
https://docs.google.com/spreadsheets/d/1GOxJ2lNpLxN12YyZ87Bhsxb0iLAQ7e4UDZbJSly8Sy8/edit#gid=0
YA SONRA ?
EMRE
YILMAZFull Stack Web Developer & Consultant
twitter.com/delirehberi
github.com/delirehberi
linkedin.com/in/delirehberi

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (14)

Symfony 2
Symfony 2Symfony 2
Symfony 2
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
Symfony ignite
Symfony igniteSymfony ignite
Symfony ignite
 
ConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con SymfonyConfSL: Sviluppo Applicazioni web con Symfony
ConfSL: Sviluppo Applicazioni web con Symfony
 
Symfony2 & doctrine
Symfony2 & doctrineSymfony2 & doctrine
Symfony2 & doctrine
 
Canakkale Destanı
Canakkale DestanıCanakkale Destanı
Canakkale Destanı
 
Php MySQL
Php MySQLPhp MySQL
Php MySQL
 
Java script
Java scriptJava script
Java script
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 
Introduzione pratica a Symfony
Introduzione pratica a SymfonyIntroduzione pratica a Symfony
Introduzione pratica a Symfony
 
Linux sunum
Linux sunumLinux sunum
Linux sunum
 
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
Tomáš Votruba - Hot news! PHP 7.0, 7.1 a Symfony 3.1, 3.2 a 3.3
 
PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015
 
Introduction to symfony2
Introduction to symfony2Introduction to symfony2
Introduction to symfony2
 

Ähnlich wie Symfony 3

Php kursu-konya
Php kursu-konyaPhp kursu-konya
Php kursu-konyasersld88
 
Php kursu-tuzla
Php kursu-tuzlaPhp kursu-tuzla
Php kursu-tuzlasersld88
 
Php semineri
Php semineriPhp semineri
Php seminerisersld89
 
Php konferansi
Php konferansiPhp konferansi
Php konferansisersld89
 
Php zirvesi
Php zirvesiPhp zirvesi
Php zirvesisersld89
 
Php kursu-levent
Php kursu-leventPhp kursu-levent
Php kursu-leventsersld88
 
Php kursu-samsun
Php kursu-samsunPhp kursu-samsun
Php kursu-samsunsersld88
 
Php kursu-beyoglu
Php kursu-beyogluPhp kursu-beyoglu
Php kursu-beyoglusersld88
 
Php kursu-beykoz
Php kursu-beykozPhp kursu-beykoz
Php kursu-beykozsersld88
 
Php en-iyi-kursu
Php en-iyi-kursuPhp en-iyi-kursu
Php en-iyi-kursusersld89
 
Php videosu
Php videosuPhp videosu
Php videosusersld89
 
Php seminerleri
Php seminerleriPhp seminerleri
Php seminerlerisersld89
 
Php uzaktan-kurs
Php uzaktan-kursPhp uzaktan-kurs
Php uzaktan-kurssersld89
 
Php ders-notlari
Php ders-notlariPhp ders-notlari
Php ders-notlarisersld89
 
Php kursu-adana
Php kursu-adanaPhp kursu-adana
Php kursu-adanasersld88
 
Php notlari
Php notlariPhp notlari
Php notlarisersld89
 
Php cevaplari
Php cevaplariPhp cevaplari
Php cevaplarisersld89
 

Ähnlich wie Symfony 3 (20)

Php kursu-konya
Php kursu-konyaPhp kursu-konya
Php kursu-konya
 
Php kursu-tuzla
Php kursu-tuzlaPhp kursu-tuzla
Php kursu-tuzla
 
Php semineri
Php semineriPhp semineri
Php semineri
 
Php konferansi
Php konferansiPhp konferansi
Php konferansi
 
Php zirvesi
Php zirvesiPhp zirvesi
Php zirvesi
 
Php kursu-levent
Php kursu-leventPhp kursu-levent
Php kursu-levent
 
Php kursu-samsun
Php kursu-samsunPhp kursu-samsun
Php kursu-samsun
 
Php kursu-beyoglu
Php kursu-beyogluPhp kursu-beyoglu
Php kursu-beyoglu
 
Php indir
Php indirPhp indir
Php indir
 
Php kursu-beykoz
Php kursu-beykozPhp kursu-beykoz
Php kursu-beykoz
 
Php en-iyi-kursu
Php en-iyi-kursuPhp en-iyi-kursu
Php en-iyi-kursu
 
Php videosu
Php videosuPhp videosu
Php videosu
 
Php seminerleri
Php seminerleriPhp seminerleri
Php seminerleri
 
Php uzaktan-kurs
Php uzaktan-kursPhp uzaktan-kurs
Php uzaktan-kurs
 
Php ders-notlari
Php ders-notlariPhp ders-notlari
Php ders-notlari
 
Php kursu-adana
Php kursu-adanaPhp kursu-adana
Php kursu-adana
 
Php testi
Php testiPhp testi
Php testi
 
Php notlari
Php notlariPhp notlari
Php notlari
 
Php video
Php videoPhp video
Php video
 
Php cevaplari
Php cevaplariPhp cevaplari
Php cevaplari
 

Symfony 3

  • 1. EMRE YILMAZFull Stack Web Developer & Consultant twitter.com/delirehberi github.com/delirehberi linkedin.com/in/delirehberi
  • 2. SYMFONY 3 En iyinin daha iyisi
  • 3. “Symfony neydi? Symfony emekti! -Fabien Potencier
  • 4. “« Symfony is a set of PHP Components, a Web Application framework, a Philosophy, and a Community — all working together in harmony. » -Sensio Labs
  • 5. SYMFONY NEYDİ? ➤ 2005 Yılından beri ➤ SensioLabs önderliğinde ➤ Sürüsüyle bundle ( KNPLabs derki 2740 adet ) ➤ 1393 kod geliştirici ➤ 1049 dökümantasyon yazan insan ➤ Mikro ve Makro ölçekli tüm web uygulamaları için
  • 6. Ah şu Symfony olmasa. http://symfony.com/projects 6
  • 8.
  • 9. YANİ ? ➤ Major ➤ Uyumsuz API değişiklikleri ➤ Modası geçmişlerin ölümü (deprecated) ➤ Bağımlı olunan php versiyonu da yükselir (major/minor) ➤ Minor ➤ Yeni özellikler eklenir ( Geriye uyumludur ) ➤ Varolan işlevini kaybedecek kısımlar modası geçmiş olarak işaretlenir (deprecated) ➤ Patch ➤ Hata temizleme işleri ( Geriye uyumludur ) ➤ Güvenlik açıkları ( Geriye uyumludur )
  • 11. HİÇ BİR ŞEY Fabien daha önce söylemişti!
  • 12.
  • 13. PEKİ YA N`OLDU ? ➤ LTS bir versiyon değil. ➤ Symfony 2.8 kodu üzerine oturuyor. ➤ Tüm modası geçmiş kısımlar temizlendi. (deprecated) ➤ Minimum PHP versiyonu 5.5.9 oldu. ➤ Geriye yönelik uyumluluk olabildiğince sağlanmaya çalışıldı. ➤ Yapısal hatalar giderildi. ➤ Yeni klasör yapısı
  • 14. Bİ OLAY YOK! Esas mesele 2.8`de
  • 15. SYMFONY 2.8`E KADAR OLANLAR ➤ Microframework ➤ Form improvements ➤ Console Style Guide ➤ Deprecated service definitions ➤ Redesigned Profiler ➤ Service Auto Wiring ➤ PropertyInfo component ➤ Console improvements ➤ LDAP component ➤ Redesigned Web Debug Toolbar
  • 17. FORM IMPROVEMENTS HTML5 Range Input 2.7 : Choice 2.8: Date,Time,DateTime Entity türü için query builder’dan boş değer dönebiliyor. Formlar için Foundation 5 teması.
  • 18. CONSOLE STYLE GUIDE 2.7`de de mevcut ancak 2.8`den itibaren kullanılmaya başlandı. Değişken adını io olarak veriyoruz, çünkü hem girdi, hem çıktı için kullanılıyor.
  • 21. SERVICE AUTO WIRING Öntanımlı olarak autowire kapalı. Yeni bir olay değil. Spring Java framework 10 yıl önce yaptı bunu.
  • 22. PROPERTYINFO COMPONENT Önce extractor sınıfları verilir, kendinize özel extractor yazabilirsiniz.
  • 24. LDAP COMPONENT Önce servis olarak sınıfı ldap adresiyle tanımlıyor Ardından provider olarak ldap ayarları ekleniyor. Son olarak firewall olarak tanımlamalar yapılıyor
  • 26. SYMFONY 3.0`DA OLAN MİNİK ŞEYLER ➤ Bazı metodlarda kullanım değişiklikleri ➤ Bazı sınıflarda namespace değişiklikleri ➤ Bazı formtype’larda ayar adı değişiklikleri ➤ Bir sürü deprecated metod silindi ➤ LoggerInterface PSR a uyduruldu ➤ Kimi commandların çağrımı değiştirildi https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
  • 27. SYMFONY 3.0`DA KLASÖR DEĞİŞİKLİKLERİ 2.3.* 2.8.* 3.0
  • 28. HA DEYİNCE SYMFONY 3.0 OLMAZ ➤ Tüm deprecated kısımları güncelleyin. ➤ Symfony Upgrade Fixer ile bi kontrol edin. * ➤ Kullandığınız bundle`ları kontrol edin. ➤ Güncelleme dökümanını kontrol edin. * * https://github.com/umpirsky/Symfony-Upgrade-Fixer * https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md
  • 29. KİMLER HAZIR ? AequasiCacheBundle FOSUserBundle SensioGeneratorBundle DoctrineCouchDBBundle KnpGaufretteBundle GnugatPommFoundationB undle SLLHIsoCodesValidator DoctrineMongoDBBundle VichUploaderBundle HTTPHeadersBundle SncRedisBundle ElaoWebProfilerExtraBun dle AsseticBundle IncenteevParameterHandl er SonataAdminBundle FOSCommentBundle BazingaJsTranslationBundl e IvoryCKEditorBundle StofDoctrineExtensionsBu ndle FOSJsRoutingBundle CacheFlushBundle JMSI18nRoutingBundle TacticianBundle FOSOAuthServerBundle ControllerExtraBundle JMSSerializerBundle VisithorBundle HWIOAuthBundle CraueFormFlowBundle KnpMenuBundle WhiteOctoberPagerFanta Bundle JMSAopBundle DoctrineBundle KnpPaginatorBundle RollerworksSearchBundle JMSTranslationBundle DoctrineCacheBundle KnpSnappyBundle AdmingeneratorGenerato rBundle LexikFormFilterBundle DoctrineFixturesBundle KnpTimeBundle DoctrineMigrationsBundle PrestaSitemapBundle DoctrinePHPCRBundle LiipImagineBundle GenemuFormBundle RabbitMqBundle EasyAdminBundle LiuggioExcelBundle JMSDiExtraBundle RaulFraileLadyBugBundle EkinoNewRelicBundle MopaBootstrapBundle JMSSecurityExtraBundle SimpleDoctrineMapping FMElfinderBundle NelmioApiDocBundle LiipFunctionalTestBundle SonataMediaBundle FOSElasticaBundle SensioDistributionBundle PropelBundle FOSRestBundle SensioFrameworkExtraBu ndle RSQueueBundle https://docs.google.com/spreadsheets/d/1GOxJ2lNpLxN12YyZ87Bhsxb0iLAQ7e4UDZbJSly8Sy8/edit#gid=0
  • 31.
  • 32. EMRE YILMAZFull Stack Web Developer & Consultant twitter.com/delirehberi github.com/delirehberi linkedin.com/in/delirehberi