SlideShare a Scribd company logo
Why I stopped
worrying and
LOVED PHP
Chris Ozog - Codesushi CTO
Agenda:
1. 2 słowa o sobie
2. Dlaczego php ma złą sławę, czyli szczypta historii
3. PHP 5.3 i narodziny Symfony
4. Nowoczesny PHP na przykładzie Symfony
5. Dlaczego warto zainwestować swój czas w PHP
2 słowa o mnieW kontekście historii PHP
● Pierwsza aplikacja w PHP - 2004
● Nie chciałem zostać “PeHaPowcem”
● Ale tak wyszło …
● W międzyczasie PHP bardzo się zmienił
● Oprócz powyższego: Codesushi CTO
Dlaczego php ma złą sławę, czyli szczypta historii:
Dziki zachód (1995 ~ 2006)
● Pierwsze wydanie PHP - 1995
● Era spaghetti code
○ Brak stosowania wzorców projektowych
○ Brak oddzielenia HTML od kodu PHP
○ Większe nastawienie na to aby coś działało niż
na jakość kodu
● Spaghetti przestaje smakować - pojawia się Ruby on Rails (2004)
○ Wszyscy chcą być jak RoR - pojawia się CakePHP i Django (python)
● Pojawia sie Symfony 1. Październik 2005
Dlaczego php ma złą sławę, czyli szczypta historii:
Odważny nowy świat (2006 ~ 2011)
● Pierwsze wydanie Symfony 1. 22.10.2005
● Wojna frameworków
○ CakePHP, CodeIgniter, Symfony, ZendFramework
● Problem! Brak możliwości współdzielenia kodu pomiędzy
frameworkami
● PHP 5 - zaczyna wyczerpywać swoje możliwości
○ Długie nazwy klas, aby symulować przestrzenie nazw
● 2009 - pojawia się PHP 5.3 i standardy PSR
● Wydanie Symfony 2, Lipiec 2011
PHP 5.3 - przełomowe wydanie PHP
● 2009 - 1 wydanie PHP 5.3
● Wprowadzało przestrzenie nazw
● Poprawiło wydajność
● Funkcje anonimowe
● Domknięcia
● Poprawiało obiektowość
● Umożliwiło powstanie nowych frameworków
takich jak Symfony 2
Narodziny Symfony
● Lipiec 2011 - pierwsze wydanie
● Wdrożenie standardów PSR-0,1,2
● Odejście od koncepcji RAD - przewrót w podejściu
● System szablonów Twig
● Koncepcja Bunldes
● Koncepcja Components
● Postawienie na wzorzec Dependency Injection i
Oddzielenie zależności
● Od wersji 2.1 - przejście na composer w celu
zarządzania zależnościami
● Dystrybucje symfony - (RAD, CMF, REST)
Nowoczesny PHP na przykładzie Symfony
● Oddzielenie zależności - Decoupling
● Dependency Injection
● Clean code
● SOLID Code
Dlaczego warto zainwestować
swój czas w PHP
● PHP 7
● Nadal jest królem webu
● Wpływ symfony w całym ekosystemie
● To przyzwoity język
Dziękuję za uwagę :)
e-mail: hello@codesushi.co
www: codesushi.coKrzysztof Ożóg
Codesushi CTO
Ad

Recommended

Extend TS Lint - your code quality guard
Extend TS Lint - your code quality guard
Piotr Oleś
 
Symfony Flex - Nowe, efektywne podejście do budowania aplikacji w Symfony
Symfony Flex - Nowe, efektywne podejście do budowania aplikacji w Symfony
Krzysztof Wędrowicz
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
Natalia Stanko
 
Clean code w Ruby
Clean code w Ruby
Rafal Piekarski
 
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Wojciech Sznapka
 
Webinar symfony
Webinar symfony
Michał Makaruk
 
Nie tylko C# - Ekosystem Microsoft dla programistów
Nie tylko C# - Ekosystem Microsoft dla programistów
intive
 
Jak migrować kod legacy do Symfony? Tips & tricks
Jak migrować kod legacy do Symfony? Tips & tricks
XSolve
 
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Krzysztof (Chris) Ozog
 
21st century problem… the cost of it department!
21st century problem… the cost of it department!
Krzysztof (Chris) Ozog
 
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Krzysztof (Chris) Ozog
 
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Krzysztof (Chris) Ozog
 
Parallel development of Web Apps | Codesushi - Gliwice 2017
Parallel development of Web Apps | Codesushi - Gliwice 2017
Krzysztof (Chris) Ozog
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
Krzysztof (Chris) Ozog
 
Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017
Krzysztof (Chris) Ozog
 
The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...
Krzysztof (Chris) Ozog
 
How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...
Krzysztof (Chris) Ozog
 
Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8
Krzysztof (Chris) Ozog
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia - case study | Codesushi
Krzysztof (Chris) Ozog
 
Asynchroniczny PHP | Codesushi
Asynchroniczny PHP | Codesushi
Krzysztof (Chris) Ozog
 
Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
Krzysztof (Chris) Ozog
 
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Krzysztof (Chris) Ozog
 
Inner Symfony’s Daemons
Inner Symfony’s Daemons
Krzysztof (Chris) Ozog
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Krzysztof (Chris) Ozog
 

More Related Content

More from Krzysztof (Chris) Ozog (16)

Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Krzysztof (Chris) Ozog
 
21st century problem… the cost of it department!
21st century problem… the cost of it department!
Krzysztof (Chris) Ozog
 
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Krzysztof (Chris) Ozog
 
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Krzysztof (Chris) Ozog
 
Parallel development of Web Apps | Codesushi - Gliwice 2017
Parallel development of Web Apps | Codesushi - Gliwice 2017
Krzysztof (Chris) Ozog
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
Krzysztof (Chris) Ozog
 
Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017
Krzysztof (Chris) Ozog
 
The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...
Krzysztof (Chris) Ozog
 
How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...
Krzysztof (Chris) Ozog
 
Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8
Krzysztof (Chris) Ozog
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia - case study | Codesushi
Krzysztof (Chris) Ozog
 
Asynchroniczny PHP | Codesushi
Asynchroniczny PHP | Codesushi
Krzysztof (Chris) Ozog
 
Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
Krzysztof (Chris) Ozog
 
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Krzysztof (Chris) Ozog
 
Inner Symfony’s Daemons
Inner Symfony’s Daemons
Krzysztof (Chris) Ozog
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Krzysztof (Chris) Ozog
 
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Code Camp NYC 2017 - How to deal with everything... | Chris Ozog - Codesushi
Krzysztof (Chris) Ozog
 
21st century problem… the cost of it department!
21st century problem… the cost of it department!
Krzysztof (Chris) Ozog
 
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Codesushi: Code review z korzyściami dla recenzenta i recenzowanego
Krzysztof (Chris) Ozog
 
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Why I stopped worrying and loved PHP | Codesushi - Krakow 2017
Krzysztof (Chris) Ozog
 
Parallel development of Web Apps | Codesushi - Gliwice 2017
Parallel development of Web Apps | Codesushi - Gliwice 2017
Krzysztof (Chris) Ozog
 
How to create a WordPress not understanding WordPress, so more on the headles...
How to create a WordPress not understanding WordPress, so more on the headles...
Krzysztof (Chris) Ozog
 
Asynchronous PHP | Codesushi - Warsaw 2017
Asynchronous PHP | Codesushi - Warsaw 2017
Krzysztof (Chris) Ozog
 
The automation of the process of caring for the quality of the code in PHP an...
The automation of the process of caring for the quality of the code in PHP an...
Krzysztof (Chris) Ozog
 
How to protect your code against a destructive influence of client | Codesush...
How to protect your code against a destructive influence of client | Codesush...
Krzysztof (Chris) Ozog
 
Headless approach and acquia - case study | Codesushi
Headless approach and acquia - case study | Codesushi
Krzysztof (Chris) Ozog
 
Równoległy rozwój Aplikacji Webowych | Codesushi
Równoległy rozwój Aplikacji Webowych | Codesushi
Krzysztof (Chris) Ozog
 
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Jak uchronić Twój piękny kod przed destrukcyjnym wpływem klienta | Codesushi
Krzysztof (Chris) Ozog
 
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Speed up your zombies! - Bootstrap dev environment in 5 minutes!
Krzysztof (Chris) Ozog
 

Why I stopped worrying and LOVED PHP | Codesushi

  • 1. Why I stopped worrying and LOVED PHP Chris Ozog - Codesushi CTO
  • 2. Agenda: 1. 2 słowa o sobie 2. Dlaczego php ma złą sławę, czyli szczypta historii 3. PHP 5.3 i narodziny Symfony 4. Nowoczesny PHP na przykładzie Symfony 5. Dlaczego warto zainwestować swój czas w PHP
  • 3. 2 słowa o mnieW kontekście historii PHP ● Pierwsza aplikacja w PHP - 2004 ● Nie chciałem zostać “PeHaPowcem” ● Ale tak wyszło … ● W międzyczasie PHP bardzo się zmienił ● Oprócz powyższego: Codesushi CTO
  • 4. Dlaczego php ma złą sławę, czyli szczypta historii: Dziki zachód (1995 ~ 2006) ● Pierwsze wydanie PHP - 1995 ● Era spaghetti code ○ Brak stosowania wzorców projektowych ○ Brak oddzielenia HTML od kodu PHP ○ Większe nastawienie na to aby coś działało niż na jakość kodu ● Spaghetti przestaje smakować - pojawia się Ruby on Rails (2004) ○ Wszyscy chcą być jak RoR - pojawia się CakePHP i Django (python) ● Pojawia sie Symfony 1. Październik 2005
  • 5. Dlaczego php ma złą sławę, czyli szczypta historii: Odważny nowy świat (2006 ~ 2011) ● Pierwsze wydanie Symfony 1. 22.10.2005 ● Wojna frameworków ○ CakePHP, CodeIgniter, Symfony, ZendFramework ● Problem! Brak możliwości współdzielenia kodu pomiędzy frameworkami ● PHP 5 - zaczyna wyczerpywać swoje możliwości ○ Długie nazwy klas, aby symulować przestrzenie nazw ● 2009 - pojawia się PHP 5.3 i standardy PSR ● Wydanie Symfony 2, Lipiec 2011
  • 6. PHP 5.3 - przełomowe wydanie PHP ● 2009 - 1 wydanie PHP 5.3 ● Wprowadzało przestrzenie nazw ● Poprawiło wydajność ● Funkcje anonimowe ● Domknięcia ● Poprawiało obiektowość ● Umożliwiło powstanie nowych frameworków takich jak Symfony 2
  • 7. Narodziny Symfony ● Lipiec 2011 - pierwsze wydanie ● Wdrożenie standardów PSR-0,1,2 ● Odejście od koncepcji RAD - przewrót w podejściu ● System szablonów Twig ● Koncepcja Bunldes ● Koncepcja Components ● Postawienie na wzorzec Dependency Injection i Oddzielenie zależności ● Od wersji 2.1 - przejście na composer w celu zarządzania zależnościami ● Dystrybucje symfony - (RAD, CMF, REST)
  • 8. Nowoczesny PHP na przykładzie Symfony ● Oddzielenie zależności - Decoupling ● Dependency Injection ● Clean code ● SOLID Code
  • 9. Dlaczego warto zainwestować swój czas w PHP ● PHP 7 ● Nadal jest królem webu ● Wpływ symfony w całym ekosystemie ● To przyzwoity język
  • 10. Dziękuję za uwagę :) e-mail: [email protected] www: codesushi.coKrzysztof Ożóg Codesushi CTO