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
69
Finding lost features - How NOT to build mazes and complexity
radnok
0
350
Tablice zostawmy Mojżeszowi - czyli o strukturach danych w PHPie
radnok
0
410
Sylius as an Infrastructure
radnok
0
340
Tablice zostawmy Mojżeszowi
radnok
1
480
Framework Agnostic
radnok
0
690
PHP & GraphQL - Will it blend?
radnok
0
240
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
210
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
460
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
250
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
スマート反転とウェブアクセシビリティ
camiha
0
210
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
6
2.2k
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
The World Runs on Bad Software
bkeepers
PRO
72
12k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
GraphQLとの向き合い方2022年版
quramy
50
15k
Accessibility Awareness
sabderemane
1
210
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
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