SlideShare a Scribd company logo
1 of 21
Download to read offline
PROSTOTA I MOŻLIWOŚCI 
FRAMEWORKA SYMFONY 
Natalia Stanko 
Kraków, 2014
O MNIE 
• EPI WZKS UJ, IS WFAIS UJ 
• web developer 
• coach 
• organizator Women in Technology w Krakowie 
• organizator hack4good hackathon 
2
AGENDA 
• jak działają aplikacje internetowe 
• czym jest framework 
• czym jest Symfony? 
• architektura i komponenty Symfony 
• cechy Symfony 
• aplikacja w 10 minut 
• najbardziej użyteczne bundle 
3
JAK DZIAŁAJĄ APLIKACJE INTERNETOWE 
4
CZYM JEST FRAMEWORK? 
• szkielet do budowy aplikacji 
• "don't reinvent the wheel" 
• zarządzanie komunikacją z bazą danych 
• mechanizmy bezpieczeństwa 
• obsługa błędów 
• system szablonów (+/-) 
• generator kodu (+/-) 
5
CZYM JEST SYMFONY? 
• Fabien Potencier 
• SensioLabs 
• PHP 
• open source 
• framework 
• zbiór komponentów 
6
COMPOSER 
• getcomposer.org 
• packagist.org 
! 
• dołączanie bibliotek (bundles) 
third party (i twoich własnych!) 
• rozwiązywanie zależności 
• przykład: Silex 
7
“Prawdziwa wielkość ubrana jest 
w prostotę.” 
–Mikołaj Gogol 
8
KOMPONENTY 
• konfiguracja YAML 
• app/console - interfejs linii poleceń 
• Doctrine ORM 
• migracje db 
• formularze 
9
KOMPONENTY 
• Assetic 
• Dependency Injection Container 
• EventDispatcher 
10
KOMPONENTY 
Annotacje 
! 
/** 
* @Route("/{id}") 
* @Method("get") 
* @ParamConverter("post", class="SensioBlogBundle:Post") 
* @Template("SensioBlogBundle:Annot:show.html.twig") 
* @Security("has_role('ROLE_ADMIN')") 
*/ 
public function showAction(Post $post) { 
}
KOMPONENTY 
• debug toolbar 
• system tłumaczeń 
• ACL db 
• PHPUnit, behat itp 
• scaffolding, generatory kodu 
• mechanizmy stronicowania, sortowania, filtrowania 
12
KOMPONENTY 
Twig - http://twig.sensiolabs.org/ 
{% extends "layout.html" %} 
{{ include('page.html', sandboxed = true) }} 
{{ var|raw }} 
{% for user in users %} 
<li>{{ user.username }}</li> 
{% endfor %} 
13
CECHY SYMFONY 
• prostota instalacji 
• wieloplatformowość 
• dla małych i dużych projektów 
• zgodność z najlepszymi standardami 
• łatwość rozbudowy 
• niezależność od systemu bd 
• automatyzacja pracy 
14
SUPPORT 
• Symfony 2.3 wersja z długoterminowym wsparciem, 3 
lata od maja 2013 
• Symfony 2.5 ostatnia stabilna wersja 
• łatwy upgrade do wyższej wersji 
• bardzo dobra dokumentacja 
• wsparcie społecznosci 
15
ZBUDUJ APLIKACJĘ W 
10 MINUT 
16
NAJBARDZIEJ UŻYTECZNE 
BUNDLE 
• http://symfony.com/blog/the-30-most-useful-symfony- 
bundles-and-making-them-even-better 
• https://packagist.org/ 
17
NAJBARDZIEJ UŻYTECZNE 
BUNDLE 
• FOSUserBundle 
• FOSRestBundle 
• Sonata lub Admin Generator 
• NelmioApiDocBundle 
• MigrationsBundle 
18
NAJBARDZIEJ UŻYTECZNE 
BUNDLE 
• Translatable 
• Timestampable 
• Sluggable 
• Loggable i Blameable 
• Softdeleteable 
19
! 
http://symfony.com/ 
! 
http://sensiolabs.com/ 
20
DZIĘKUJĘ 
! 
pytania? 
nataliastanko.com 
! 
@nataliastanko

More Related Content

Similar to Prostota i mozliwosci symfony2

WebView security on iOS (PL)
WebView security on iOS (PL)WebView security on iOS (PL)
WebView security on iOS (PL)lpilorz
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Krzysztof Synak
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowaniaSecuRing
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech DworakowskiPROIDEA
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Tomasz Dziuda
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzkeGaldoMedia
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITRedge Technologies
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net coreVimanet
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayTomasz Dziuda
 

Similar to Prostota i mozliwosci symfony2 (20)

JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
WebView security on iOS (PL)
WebView security on iOS (PL)WebView security on iOS (PL)
WebView security on iOS (PL)
 
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014Daj się wyręczyć - Joomla Day Polska 2014
Daj się wyręczyć - Joomla Day Polska 2014
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
university day 1
university day 1university day 1
university day 1
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa ITSCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
SCAP – standaryzacja formatów wymiany danych w zakresie bezpieczeństwa IT
 
Jaki framework wybrać
Jaki framework wybraćJaki framework wybrać
Jaki framework wybrać
 
SPA i .Net Core
SPA i .Net CoreSPA i .Net Core
SPA i .Net Core
 
Spa i .net core
Spa i .net coreSpa i .net core
Spa i .net core
 
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 

More from Natalia Stanko

Recovering from burnout
Recovering from burnoutRecovering from burnout
Recovering from burnoutNatalia Stanko
 
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014Moja przygoda z programowaniem - Rails Girls Wroclaw 2014
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014Natalia Stanko
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
Projektowanie i przetwarzanie danych w SQL
Projektowanie i przetwarzanie danych w SQLProjektowanie i przetwarzanie danych w SQL
Projektowanie i przetwarzanie danych w SQLNatalia Stanko
 
Przegląd języków programowania
Przegląd języków programowaniaPrzegląd języków programowania
Przegląd języków programowaniaNatalia Stanko
 
Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoNatalia Stanko
 
12. spotkanie Women in Technology Kraków
12. spotkanie Women in Technology Kraków12. spotkanie Women in Technology Kraków
12. spotkanie Women in Technology KrakówNatalia Stanko
 
11. spotkanie Women in Technology Kraków
11. spotkanie Women in Technology Kraków11. spotkanie Women in Technology Kraków
11. spotkanie Women in Technology KrakówNatalia Stanko
 
9. spotkanie Women in Technology w Krakowie
9. spotkanie Women in Technology w Krakowie9. spotkanie Women in Technology w Krakowie
9. spotkanie Women in Technology w KrakowieNatalia Stanko
 
8. spotkanie Women in Technology w Krakowie
8. spotkanie Women in Technology w Krakowie8. spotkanie Women in Technology w Krakowie
8. spotkanie Women in Technology w KrakowieNatalia Stanko
 
Geeklist #hack4good Kraków
Geeklist #hack4good KrakówGeeklist #hack4good Kraków
Geeklist #hack4good KrakówNatalia Stanko
 
Women in Technology Kraków #6
Women in Technology Kraków #6Women in Technology Kraków #6
Women in Technology Kraków #6Natalia Stanko
 
Hack4good 0.5 Kraków Challenges
Hack4good 0.5 Kraków ChallengesHack4good 0.5 Kraków Challenges
Hack4good 0.5 Kraków ChallengesNatalia Stanko
 
Hack4good 0.5 Kraków tematy (PL)
Hack4good 0.5 Kraków tematy (PL)Hack4good 0.5 Kraków tematy (PL)
Hack4good 0.5 Kraków tematy (PL)Natalia Stanko
 
Women in Technology Kraków
Women in Technology KrakówWomen in Technology Kraków
Women in Technology KrakówNatalia Stanko
 

More from Natalia Stanko (19)

Recovering from burnout
Recovering from burnoutRecovering from burnout
Recovering from burnout
 
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014Moja przygoda z programowaniem - Rails Girls Wroclaw 2014
Moja przygoda z programowaniem - Rails Girls Wroclaw 2014
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
Projektowanie i przetwarzanie danych w SQL
Projektowanie i przetwarzanie danych w SQLProjektowanie i przetwarzanie danych w SQL
Projektowanie i przetwarzanie danych w SQL
 
SQLite 2010
SQLite 2010SQLite 2010
SQLite 2010
 
Przegląd języków programowania
Przegląd języków programowaniaPrzegląd języków programowania
Przegląd języków programowania
 
The power of events
The power of eventsThe power of events
The power of events
 
Poznaj GITa - Natalia Stanko
Poznaj GITa - Natalia StankoPoznaj GITa - Natalia Stanko
Poznaj GITa - Natalia Stanko
 
12. spotkanie Women in Technology Kraków
12. spotkanie Women in Technology Kraków12. spotkanie Women in Technology Kraków
12. spotkanie Women in Technology Kraków
 
11. spotkanie Women in Technology Kraków
11. spotkanie Women in Technology Kraków11. spotkanie Women in Technology Kraków
11. spotkanie Women in Technology Kraków
 
9. spotkanie Women in Technology w Krakowie
9. spotkanie Women in Technology w Krakowie9. spotkanie Women in Technology w Krakowie
9. spotkanie Women in Technology w Krakowie
 
8. spotkanie Women in Technology w Krakowie
8. spotkanie Women in Technology w Krakowie8. spotkanie Women in Technology w Krakowie
8. spotkanie Women in Technology w Krakowie
 
Geeklist #hack4good Kraków
Geeklist #hack4good KrakówGeeklist #hack4good Kraków
Geeklist #hack4good Kraków
 
Women in Technology Kraków #6
Women in Technology Kraków #6Women in Technology Kraków #6
Women in Technology Kraków #6
 
Hack4good 0.5 Kraków Challenges
Hack4good 0.5 Kraków ChallengesHack4good 0.5 Kraków Challenges
Hack4good 0.5 Kraków Challenges
 
Hack4good 0.5 Kraków tematy (PL)
Hack4good 0.5 Kraków tematy (PL)Hack4good 0.5 Kraków tematy (PL)
Hack4good 0.5 Kraków tematy (PL)
 
Hack4good Idea (PL)
Hack4good Idea (PL)Hack4good Idea (PL)
Hack4good Idea (PL)
 
Women in Technology Kraków
Women in Technology KrakówWomen in Technology Kraków
Women in Technology Kraków
 
MongoDB 2011
MongoDB 2011MongoDB 2011
MongoDB 2011
 

Prostota i mozliwosci symfony2

  • 1. PROSTOTA I MOŻLIWOŚCI FRAMEWORKA SYMFONY Natalia Stanko Kraków, 2014
  • 2. O MNIE • EPI WZKS UJ, IS WFAIS UJ • web developer • coach • organizator Women in Technology w Krakowie • organizator hack4good hackathon 2
  • 3. AGENDA • jak działają aplikacje internetowe • czym jest framework • czym jest Symfony? • architektura i komponenty Symfony • cechy Symfony • aplikacja w 10 minut • najbardziej użyteczne bundle 3
  • 4. JAK DZIAŁAJĄ APLIKACJE INTERNETOWE 4
  • 5. CZYM JEST FRAMEWORK? • szkielet do budowy aplikacji • "don't reinvent the wheel" • zarządzanie komunikacją z bazą danych • mechanizmy bezpieczeństwa • obsługa błędów • system szablonów (+/-) • generator kodu (+/-) 5
  • 6. CZYM JEST SYMFONY? • Fabien Potencier • SensioLabs • PHP • open source • framework • zbiór komponentów 6
  • 7. COMPOSER • getcomposer.org • packagist.org ! • dołączanie bibliotek (bundles) third party (i twoich własnych!) • rozwiązywanie zależności • przykład: Silex 7
  • 8. “Prawdziwa wielkość ubrana jest w prostotę.” –Mikołaj Gogol 8
  • 9. KOMPONENTY • konfiguracja YAML • app/console - interfejs linii poleceń • Doctrine ORM • migracje db • formularze 9
  • 10. KOMPONENTY • Assetic • Dependency Injection Container • EventDispatcher 10
  • 11. KOMPONENTY Annotacje ! /** * @Route("/{id}") * @Method("get") * @ParamConverter("post", class="SensioBlogBundle:Post") * @Template("SensioBlogBundle:Annot:show.html.twig") * @Security("has_role('ROLE_ADMIN')") */ public function showAction(Post $post) { }
  • 12. KOMPONENTY • debug toolbar • system tłumaczeń • ACL db • PHPUnit, behat itp • scaffolding, generatory kodu • mechanizmy stronicowania, sortowania, filtrowania 12
  • 13. KOMPONENTY Twig - http://twig.sensiolabs.org/ {% extends "layout.html" %} {{ include('page.html', sandboxed = true) }} {{ var|raw }} {% for user in users %} <li>{{ user.username }}</li> {% endfor %} 13
  • 14. CECHY SYMFONY • prostota instalacji • wieloplatformowość • dla małych i dużych projektów • zgodność z najlepszymi standardami • łatwość rozbudowy • niezależność od systemu bd • automatyzacja pracy 14
  • 15. SUPPORT • Symfony 2.3 wersja z długoterminowym wsparciem, 3 lata od maja 2013 • Symfony 2.5 ostatnia stabilna wersja • łatwy upgrade do wyższej wersji • bardzo dobra dokumentacja • wsparcie społecznosci 15
  • 16. ZBUDUJ APLIKACJĘ W 10 MINUT 16
  • 17. NAJBARDZIEJ UŻYTECZNE BUNDLE • http://symfony.com/blog/the-30-most-useful-symfony- bundles-and-making-them-even-better • https://packagist.org/ 17
  • 18. NAJBARDZIEJ UŻYTECZNE BUNDLE • FOSUserBundle • FOSRestBundle • Sonata lub Admin Generator • NelmioApiDocBundle • MigrationsBundle 18
  • 19. NAJBARDZIEJ UŻYTECZNE BUNDLE • Translatable • Timestampable • Sluggable • Loggable i Blameable • Softdeleteable 19
  • 20. ! http://symfony.com/ ! http://sensiolabs.com/ 20
  • 21. DZIĘKUJĘ ! pytania? nataliastanko.com ! @nataliastanko