Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
A State of PHP in 2020
Search
Konrad Alfaro
February 12, 2020
Programming
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A State of PHP in 2020
Konrad Alfaro
February 12, 2020
More Decks by Konrad Alfaro
See All by Konrad Alfaro
Sylius as a... Vending machine? A tale of unusual Sylius' use-cases
radnok
0
71
Finding lost features - How NOT to build mazes and complexity
radnok
0
360
Tablice zostawmy Mojżeszowi - czyli o strukturach danych w PHPie
radnok
0
410
Sylius as an Infrastructure
radnok
0
350
Tablice zostawmy Mojżeszowi
radnok
1
480
Framework Agnostic
radnok
0
690
PHP & GraphQL - Will it blend?
radnok
0
250
Other Decks in Programming
See All in Programming
SREの越境 / SRE Collaboration
y0hgi
2
300
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
770
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
350
Java 27新機能 / Java 27 new features
kishida
2
200
残高管理から台帳サービスへの進化
artoy
0
170
JRuby: Past, Present, and Future
headius
0
220
プロダクトコードからライブラリの境界を見つける
elmetal
PRO
0
110
mrbgem 三角測量 開発
ogom
0
210
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
Featured
See All Featured
Music & Morning Musume
bryan
48
7.4k
Mind Mapping
helmedeiros
1
390
The browser strikes back
jonoalderson
0
1.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Fireside Chat
paigeccino
43
4.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Rails Girls Zürich Keynote
gr2m
96
14k
We Are The Robots
honzajavorek
0
390
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
A state of PHP in 2020 BetterCollective Ciasteczka #4 -
Dev Meetup
Konrad Alfaro Software Developer @ BetterCollective
None
None
Thank you! github.com/RadnoK twitter.com/RadnoK_ radnok.com
None
Jokes aside
The (sad) past
Low entry level PHP
None
None
None
~ Już na pewno NIE mój kolega
None
None
None
github.com/google/tink/issues/104#issuecomment-417512050
None
It’s simple!
None
None
None
roots.io
None
< 7.0
Versioning
None
OOP, Dynamic types only…
Current problems
Standard PHP Library functions
Standard PHP Library functions SPL for short*
Standard PHP Library functions SPL for short*
array_map( callable $callback, array $array1 [, array $... ] )
: array array_filter( array $array [, callable $callback [, int $flag = 0 ]] ): array
array_map( callable $callback, array $array1 [, array $... ] )
: array array_filter( array $array [, callable $callback [, int $flag = 0 ]] ): array
phpsadness.com
Modern times
Language itself
PHP 7.x
None
Fancy and cool features
Type-hints / Return types!
None
None
Arrow functions!
None
None
Null coalescing assignment operator
Array spread operator
And many more…
Yes, we know that others have it for a long
time…
But we are getting there, too!
Dependencies
None
Ich LIBe Dich
None
None
None
None
composer.json composer.lock
None
Frameworks
None
None
❤
There is something slightly similar…
None
•Both like Annotations, YAMLs •Use separate fully-featured ORM •Is based
on Components
But it’s (not) a full-stack framework!
None
None
But wait! There is something similar…
None
•Model View Controller (MVC) •ActiveRecord pattern for ORM •Authorization out
of the box •Full-stack framework •Magic…
None
And others…
None
None
None
But we’ve got more!
eCommerce world
⚡
None
Tools
None
blog.jetbrains.com/phpstorm/category/ php-annotated-monthly/
None
None
None
Libraries
Static Code Analysis
Yup, we do that
github.com/exakat/php-static-analysis-tools
Event-Driven in PHP?
Yup, we do that
reactphp.org
Serverless?
Yup, we do that
github.com/brefphp/bref
Tests?
Yeah, we do that too!
None
None
Event Sourcing, CQRS etc.
I’ve got a Prooph
github.com/prooph
Machine Learning?
Yup, even that
github.com/php-ai/php-ml
⭐ Standards?
Hell, YES!
None
None
None
None
None
PHP around us
None
None
None
None
Well, no longer…
None
gist.github.com/nikcub/3833406
None
Well, no longer…
HHVM & Hack
HipHop Virtual Machine
<?hh Hack Language
None
Implemented in PHP! Implemented in PHP!
Implemented in PHP! We are still waiting… Implemented in PHP!
PHP 7.4 kicks in!
None
None
None
Community
Meet-ups
None
None
None
❤
None
None
Conferences
2019… and more…
confs.tech/php
Online
None
None
None
None
Last thoughts
twitter.com/akrabat/status/1223214852191268865
PHP is just a tool. Like any other tool, it
can be used in a bad or a good way.
Thank you! github.com/RadnoK twitter.com/RadnoK_ radnok.com
PS. Rekrutujemy BetterCollective bettercollective.com/career