Prostota i mozliwosci symfony2

Post on 28-Nov-2014

251 views 0 download

description

Symfony jest z jednej strony kompleksowym frameworkiem, z drugiej zbiorem samodzielnych i niezależnych komponentów. Jest łatwy do nauki i jednocześnie szeroko konfigurowalny. Sprawdza się zarówno dla małych jak i dużych projektów. Pracę z nim cechuje szybkie tworzenie aplikacji.

Transcript of Prostota i mozliwosci symfony2

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 hackathon2

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

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: Silex7

–Mikołaj Gogol

“Prawdziwa wielkość ubrana jest w prostotę.”

8

KOMPONENTY

• konfiguracja YAML

• app/console - interfejs linii poleceń

• Doctrine ORM

• migracje db

• formularze

9

KOMPONENTY

• Assetic

• Dependency Injection Container

• EventDispatcher

10

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) { }

KOMPONENTY

• debug toolbar

• system tłumaczeń

• ACL db

• PHPUnit, behat itp

• scaffolding, generatory kodu

• mechanizmy stronicowania, sortowania, filtrowania

12

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

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

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

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

• MigrationsBundle18

NAJBARDZIEJ UŻYTECZNE BUNDLE

• Translatable

• Timestampable

• Sluggable

• Loggable i Blameable

• Softdeleteable19

!

http://symfony.com/ !

http://sensiolabs.com/

20

DZIĘKUJĘ !

pytania?

nataliastanko.com !

@nataliastanko