Prostota i mozliwosci symfony2
-
Upload
natalia-stanko -
Category
Technology
-
view
251 -
download
0
description
Transcript of Prostota i mozliwosci symfony2
![Page 1: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/1.jpg)
PROSTOTA I MOŻLIWOŚCI FRAMEWORKA SYMFONY
Natalia Stanko Kraków, 2014
![Page 2: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/2.jpg)
O MNIE
• EPI WZKS UJ, IS WFAIS UJ
• web developer
• coach
• organizator Women in Technology w Krakowie
• organizator hack4good hackathon2
![Page 3: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/3.jpg)
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 bundle3
![Page 4: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/4.jpg)
JAK DZIAŁAJĄ APLIKACJE INTERNETOWE
4
![Page 5: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/5.jpg)
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
![Page 6: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/6.jpg)
CZYM JEST SYMFONY?
• Fabien Potencier
• SensioLabs
• PHP
• open source
• framework
• zbiór komponentów
6
![Page 7: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/7.jpg)
COMPOSER• getcomposer.org
• packagist.org
!
• dołączanie bibliotek (bundles) third party (i twoich własnych!)
• rozwiązywanie zależności
• przykład: Silex7
![Page 8: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/8.jpg)
–Mikołaj Gogol
“Prawdziwa wielkość ubrana jest w prostotę.”
8
![Page 9: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/9.jpg)
KOMPONENTY
• konfiguracja YAML
• app/console - interfejs linii poleceń
• Doctrine ORM
• migracje db
• formularze
9
![Page 10: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/10.jpg)
KOMPONENTY
• Assetic
• Dependency Injection Container
• EventDispatcher
10
![Page 11: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/11.jpg)
KOMPONENTYAnnotacje ! /** * @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) { }
![Page 12: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/12.jpg)
KOMPONENTY
• debug toolbar
• system tłumaczeń
• ACL db
• PHPUnit, behat itp
• scaffolding, generatory kodu
• mechanizmy stronicowania, sortowania, filtrowania
12
![Page 13: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/13.jpg)
KOMPONENTYTwig - http://twig.sensiolabs.org/
{% extends "layout.html" %}
{{ include('page.html', sandboxed = true) }}
{{ var|raw }}
{% for user in users %}
<li>{{ user.username }}</li>
{% endfor %}13
![Page 14: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/14.jpg)
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 pracy14
![Page 15: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/15.jpg)
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łecznosci15
![Page 16: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/16.jpg)
ZBUDUJ APLIKACJĘ W 10 MINUT
16
![Page 17: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/17.jpg)
NAJBARDZIEJ UŻYTECZNE BUNDLE
• http://symfony.com/blog/the-30-most-useful-symfony-bundles-and-making-them-even-better
• https://packagist.org/
17
![Page 18: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/18.jpg)
NAJBARDZIEJ UŻYTECZNE BUNDLE
• FOSUserBundle
• FOSRestBundle
• Sonata lub Admin Generator
• NelmioApiDocBundle
• MigrationsBundle18
![Page 19: Prostota i mozliwosci symfony2](https://reader033.fdocument.pub/reader033/viewer/2022051513/547b056bb4af9fc3158b4d68/html5/thumbnails/19.jpg)
NAJBARDZIEJ UŻYTECZNE BUNDLE
• Translatable
• Timestampable
• Sluggable
• Loggable i Blameable
• Softdeleteable19