Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A State of PHP in 2020
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
67
Finding lost features - How NOT to build mazes and complexity
radnok
0
340
Tablice zostawmy Mojżeszowi - czyli o strukturach danych w PHPie
radnok
0
400
Sylius as an Infrastructure
radnok
0
340
Tablice zostawmy Mojżeszowi
radnok
1
470
Framework Agnostic
radnok
0
680
PHP & GraphQL - Will it blend?
radnok
0
240
Other Decks in Programming
See All in Programming
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
570
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
400
Android CLI
fornewid
0
210
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.4k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
440
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
270
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
130
Google Apps Script で Ruby を動かす
kawahara
0
130
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
960
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Balancing Empowerment & Direction
lara
6
1.2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
New Earth Scene 8
popppiees
3
2.5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Mobile First: as difficult as doing things right
swwweet
225
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
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