SlideShare a Scribd company logo
1 of 39
Download to read offline
Architektura to podstawa.
Efektywny rozwój rozbudowanych projektów
przy użyciu Symfony 2
Piotr Grabski-Gradziński
Technology Director
VML Poland/Cracov
Krzysztof Gawron
Web Developer
VML Poland/Cracov
1
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
2
O czym będziemy mówić?
W jaki sposób Symfony 2 wspiera rozwój
rozbudowanych projektów
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
3
Potrzebny będzie przykład!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
4
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
5
Sklep
internetowy
Strona www
Początek
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
6
Strona www
www.visionexpress.pl
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
7
Sklep internetowy
sklep.visionexpress.pl
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
8
Sklep internetowy
sklep.visionexpress.pl
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
9
Sklep
internetowy
Strona www
Recepcja
Wspólne
konto
Rozwój
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
10
Recepcja
recepcja.visionexpress.pl
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
11
Recepcja
recepcja.visionexpress.pl
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
12
Recepcja
recepcja.visionexpress.pl
120 oddziałów
Vision Express
50 000 wizyt
od uruchomienia systemu
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
13
Wspólne konto
sklep.visionexpress.pl/
konto/
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
14
Jak zrealizowaliśmy
tak rozbudowany system?
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
15
Symfony 2!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
16
Kilka słów na temat Symfony 2
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
17
Symfony to framework PHP, Filozofia i Społeczność -
wszystkie współpracujące ze sobą w harmonii.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
18
First, Symfony 2 is a reusable set of standalone, decoupled,
and cohesive PHP components that solve common web
development problems.
Then, based on these components, Symfony2 is also a full-
stack web framework.
Fabien Potencier, What is Symfony 2?
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
19
Komponenty to bundle!
Jak nimi zarządzać?
Skąd je brać?
Gdzie szukać dokumentacji i pomocy?
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
20
Do zarządzania Composer!
getcomposer.org
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
21
Biblioteki?
packagist.org
github.com
...
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
22
Jak z tego skorzystać?
{
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0"
}
}
composer install
lub
composer update
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
23
Jak wykorzystaliśmy system bundli?
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
24
Core
Entities, CSS,
JS, TWIG
Ogólny podział strukturalny
ShopSite Reception
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
25
Komponenty funkcjonalne
SMS API
DPD
Mainseek
Płatnosci PL
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
26
Komponenty komunikacyjne
API VE
Web Service - SOAP
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
27
Pojawia się zasadnicze pytanie!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
28
Co daje mi taki podział?
Przecież to dobrze znany podział na
mniejsze biblioteki!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
29
Co daje Symfony 2?
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
30
Spójny interfejs pomiędzy bundlami!
Kluczowe koncepty realizowane w SF2 jak
dependency injection, serwisy, event listenery
umożliwiają prostą komunikację pomiędzy
bundlami. Tak stworzone bundle można łatwo
testować przy pomocy Unit Testów.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
31
Podział na mniejsze komponenty upraszcza
ich rozwój. Możemy łatwiej zaplanować i
podzielić prace.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
32
Poszczególne komponenty są wymienialne
i łatwo można je aktualizować!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
33
W prosty sposób możemy używać
gotowych komponentów do nowych
projektów.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
34
Integracja zewnętrznych bibliotek
SMS API
System wysyłki SMSów.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
35
Przykład z SMS API
Brak dostępnego bundla - napisaliśmy
własny!
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
36
Przykład z SMS API
$smsApi = $this->get('smsapi');
$sms = $smsApi->getMessageFactory()->getSmsPro();
$sms->setTo($visit->getPatient()->getPhone());
$sms->setMessage($msg);
$smsApi->send($sms);
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
37
Podsumowanie
Łatwość zarządzania bundlami.
Wymienność komponentów.
Zmiany widoczne od razu.
Prosta integracja zewnętrznych bibliotek.
Łatwiejszy podział pracy.
Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2.
Architektura to podstawa.
38
Pytania
Co jeszcze zostało agencjom interaktywnym?
Micro-planning
39
Dziękujemy.
Krzysztof Gawron
krzysztof.gawron@vml.com
VML Poland
Piotr Grabski-Gradziński
piotr.gradzinski@vml.com
VML Poland

More Related Content

Similar to Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2

Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentyna
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla FlorentynaWdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentyna
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentynabest.net
 
Smarty. Szablony w aplikacjach PHP
Smarty. Szablony w aplikacjach PHPSmarty. Szablony w aplikacjach PHP
Smarty. Szablony w aplikacjach PHPWydawnictwo Helion
 
PHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaPHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaWydawnictwo Helion
 
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid PachowskiPROIDEA
 

Similar to Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2 (6)

Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
 
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentyna
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla FlorentynaWdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentyna
Wdrożenie serwisu e-commerce zasmakujradosci.pl dla Florentyna
 
Smarty. Szablony w aplikacjach PHP
Smarty. Szablony w aplikacjach PHPSmarty. Szablony w aplikacjach PHP
Smarty. Szablony w aplikacjach PHP
 
Tworzenie frontendowych bibliotek UI
Tworzenie frontendowych bibliotek UITworzenie frontendowych bibliotek UI
Tworzenie frontendowych bibliotek UI
 
PHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowaniaPHP5. Profesjonalne tworzenie oprogramowania
PHP5. Profesjonalne tworzenie oprogramowania
 
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
"Sandbox dla PowerShell'a - zrób to sam!" - Dawid Pachowski
 

Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2

  • 1. Architektura to podstawa. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2 Piotr Grabski-Gradziński Technology Director VML Poland/Cracov Krzysztof Gawron Web Developer VML Poland/Cracov 1
  • 2. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 2 O czym będziemy mówić? W jaki sposób Symfony 2 wspiera rozwój rozbudowanych projektów
  • 3. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 3 Potrzebny będzie przykład!
  • 4. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 4
  • 5. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 5 Sklep internetowy Strona www Początek
  • 6. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 6 Strona www www.visionexpress.pl
  • 7. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 7 Sklep internetowy sklep.visionexpress.pl
  • 8. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 8 Sklep internetowy sklep.visionexpress.pl
  • 9. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 9 Sklep internetowy Strona www Recepcja Wspólne konto Rozwój
  • 10. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 10 Recepcja recepcja.visionexpress.pl
  • 11. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 11 Recepcja recepcja.visionexpress.pl
  • 12. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 12 Recepcja recepcja.visionexpress.pl 120 oddziałów Vision Express 50 000 wizyt od uruchomienia systemu
  • 13. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 13 Wspólne konto sklep.visionexpress.pl/ konto/
  • 14. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 14 Jak zrealizowaliśmy tak rozbudowany system?
  • 15. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 15 Symfony 2!
  • 16. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 16 Kilka słów na temat Symfony 2
  • 17. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 17 Symfony to framework PHP, Filozofia i Społeczność - wszystkie współpracujące ze sobą w harmonii.
  • 18. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 18 First, Symfony 2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems. Then, based on these components, Symfony2 is also a full- stack web framework. Fabien Potencier, What is Symfony 2?
  • 19. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 19 Komponenty to bundle! Jak nimi zarządzać? Skąd je brać? Gdzie szukać dokumentacji i pomocy?
  • 20. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 20 Do zarządzania Composer! getcomposer.org
  • 21. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 21 Biblioteki? packagist.org github.com ...
  • 22. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 22 Jak z tego skorzystać? { "require": { "php": ">=5.3.3", "symfony/symfony": "2.3.*", "doctrine/orm": ">=2.2.3,<2.4-dev", "doctrine/doctrine-bundle": "1.2.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.3.*", "symfony/swiftmailer-bundle": "2.3.*", "symfony/monolog-bundle": "2.3.*", "sensio/distribution-bundle": "2.3.*", "sensio/framework-extra-bundle": "2.3.*", "sensio/generator-bundle": "2.3.*", "incenteev/composer-parameter-handler": "~2.0" } } composer install lub composer update
  • 23. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 23 Jak wykorzystaliśmy system bundli?
  • 24. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 24 Core Entities, CSS, JS, TWIG Ogólny podział strukturalny ShopSite Reception
  • 25. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 25 Komponenty funkcjonalne SMS API DPD Mainseek Płatnosci PL
  • 26. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 26 Komponenty komunikacyjne API VE Web Service - SOAP
  • 27. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 27 Pojawia się zasadnicze pytanie!
  • 28. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 28 Co daje mi taki podział? Przecież to dobrze znany podział na mniejsze biblioteki!
  • 29. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 29 Co daje Symfony 2?
  • 30. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 30 Spójny interfejs pomiędzy bundlami! Kluczowe koncepty realizowane w SF2 jak dependency injection, serwisy, event listenery umożliwiają prostą komunikację pomiędzy bundlami. Tak stworzone bundle można łatwo testować przy pomocy Unit Testów.
  • 31. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 31 Podział na mniejsze komponenty upraszcza ich rozwój. Możemy łatwiej zaplanować i podzielić prace.
  • 32. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 32 Poszczególne komponenty są wymienialne i łatwo można je aktualizować!
  • 33. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 33 W prosty sposób możemy używać gotowych komponentów do nowych projektów.
  • 34. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 34 Integracja zewnętrznych bibliotek SMS API System wysyłki SMSów.
  • 35. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 35 Przykład z SMS API Brak dostępnego bundla - napisaliśmy własny!
  • 36. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 36 Przykład z SMS API $smsApi = $this->get('smsapi'); $sms = $smsApi->getMessageFactory()->getSmsPro(); $sms->setTo($visit->getPatient()->getPhone()); $sms->setMessage($msg); $smsApi->send($sms);
  • 37. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 37 Podsumowanie Łatwość zarządzania bundlami. Wymienność komponentów. Zmiany widoczne od razu. Prosta integracja zewnętrznych bibliotek. Łatwiejszy podział pracy.
  • 38. Efektywny rozwój rozbudowanych projektów przy użyciu Symfony 2. Architektura to podstawa. 38 Pytania
  • 39. Co jeszcze zostało agencjom interaktywnym? Micro-planning 39 Dziękujemy. Krzysztof Gawron krzysztof.gawron@vml.com VML Poland Piotr Grabski-Gradziński piotr.gradzinski@vml.com VML Poland