SlideShare a Scribd company logo
PHP-FIG: PAST, PRESENT AND FUTURE
@PHILSTURGEON #PHPJOBURG14
PHP-FIG: Past, Present and Future
PHP-FIG: Past, Present and Future
PHP-FIG: Past, Present and Future
PHP-FIG: Past, Present and Future
PHP-FIG: Past, Present and Future
HUMBLE BEGINNINGS
BACK IN ANCIENT 2009
http://healthland.time.com/2012/04/27/humility-a-quiet-underappreciated-strength/
PSR-0
AUTOLOADING STUFF
Not many people cared…
… including me
PSR-0
AUTOLOADING STUFF
vendor/PEAR/Mail/SMTP.php
vendor/Symfony/Core/Request.php
vendor/Zend/Mail/Message.php
PSR-0
AUTOLOADING STUFF
<?php namespace TestPackageFooBar;
class Baz {}
$instance = new
PackageFooBarBaz();
$instance = new
PackageFoo_Bar_Baz();
github.com/philsturgeon/psr0-naming-oddity
NOT SO HUMBLE BITS
GRUMBLE GRUMBLE
wiki.php.net/rfc/splclassloader
fig.php.net
26 for, 21 against =
nope
PSR-1 & 2
A.K.A TABS V SPACES
MY INVOLVEMENT
BRITISH INVASION
PSR-3
LOGGING SOUNDS EASY, BUT…
github.com/Seldaek/monolog
$log = new Logger('name');
$log->pushHandler(new
StreamHandler('path/to/your.log',
Logger::WARNING));
// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');
PHP-FIG: Past, Present and Future
PSR-3
LOGGING SOUNDS EASY, BUT…
StreamHandler
RotatingFileHandler
SyslogHandler
ErrorLogHandler
NativeMailerHandler
SwiftMailerHandler
PushoverHandler
HipChatHandler
FlowdockHandler
SocketHandler
AmqpHandler
GelfHandler
CubeHandler
RavenHandler
ZendMonitorHandler
NewRelicHandler
LogglyHandler
RollbarHandler
SyslogUdpHandler
LogEntriesHandler
FirePHPHandler
ChromePHPHandler
BrowserConsoleHandler
RedisHandler
MongoDBHandler
CouchDBHandler
DoctrineCouchDBHandler
ElasticSearchHandler
DynamoDbHandler
STYLE OR LOGGING?
SO WHICH IS IT:
SOUNDS LIKE PEP
PYTHON DID IT!
legacy.python.org/dev/peps/
P 4 Deprecation of Standard Modules
P 7 Style Guide for C Code
P 8 Style Guide for Python
Code
P 12 Sample reStructured Text PEP Template
SF 234
Iterators
SF 378 Format Specifier for Thousands
Separator
SOUNDS LIKE PEP
PYTHON DID IT!
ZEN OF PYTHON
LITERALLY ANYTHING
http://legacy.python.org/dev/peps/pep-0020/
Beautiful is better than
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
PSR-4
NEW AND SHINY? OR SATAN!!!
vendor/pear/mail/src/PEAR/Mail/SMTP.php
vendor/symfony/framework/src/Symfony/Core/
Request.php
vendor/zend/mail/src/Zend/Mail/Message.php
PSR-4
NEW AND SHINY? OR SATAN!!!
vendor/pear/mail/src/SMTP.php
vendor/symfony/framework/src/Core/Request.php
vendor/zend/mail/src/Message.php
PSR-0
vendor/hpatoio/bitly-api/src/Bitly/Api/BitlyClient.php
new BitlyApiBitlyClient();
PSR-4
vendor/hpatoio/bitly-api/src/BitlyClient.php
new BitlyApiBitlyClient();
PSR-4 (Better)
vendor/hpatoio/bitly/src/Client.php
new HpatoioBitlyClient();
PSR-5
DOCBLOCKS ARE FUN
WORKFLOW BYLAW
GETTING THINGS ON TRACK
PSR-6
blog.tedivm.com/stash
CACHE ALL THE THINGS!
GETTING THINGS ON TRACK
PSR-7
HTTP ADAPTERS ARE NOT FUN
BuzzHttpAdapter
CurlHttpAdapter
GuzzleHttpAdapter
SocketHttpAdapter
ZendHttpAdapter
geocoder-php.org
PSR-8
http://en.wikipedia.org/wiki/Free_Hugs_Campaign
pyrocms.com

More Related Content

What's hot (17)

PPT
Unix And C
Dr.Ravi
 
PDF
TDOH 南區 WorkShop 2016 Reversing on Windows
Sheng-Hao Ma
 
PDF
Bash is Testing
Matt Turner
 
TXT
Mona cheatsheet
Ce.Se.N.A. Security
 
TXT
Exploit techniques - a quick review
Ce.Se.N.A. Security
 
PDF
Life without CPAN
Bob Ernst
 
PPT
Talk Unix Shell Script 1
Dr.Ravi
 
PPT
Airlover 20030324 1
Dr.Ravi
 
PPT
Talk Unix Shell Script
Dr.Ravi
 
PDF
ch8-pv1-the-virtual-filesystem
yushiang fu
 
PDF
Parsing Expression Grammars and Treetop
Juan Lulkin
 
PPTX
What's Inside the Box from PAPIs.io 2018
Ray Deck
 
PDF
Quick tour of PHP from inside
julien pauli
 
PPTX
Pari sekalaista diaa ja F#-Referenssejä
Tuomas Hietanen
 
PPT
Unix Basics
Dr.Ravi
 
PDF
Bash production guide
Adrien Mahieux
 
PDF
Profiling php5 to php7
julien pauli
 
Unix And C
Dr.Ravi
 
TDOH 南區 WorkShop 2016 Reversing on Windows
Sheng-Hao Ma
 
Bash is Testing
Matt Turner
 
Mona cheatsheet
Ce.Se.N.A. Security
 
Exploit techniques - a quick review
Ce.Se.N.A. Security
 
Life without CPAN
Bob Ernst
 
Talk Unix Shell Script 1
Dr.Ravi
 
Airlover 20030324 1
Dr.Ravi
 
Talk Unix Shell Script
Dr.Ravi
 
ch8-pv1-the-virtual-filesystem
yushiang fu
 
Parsing Expression Grammars and Treetop
Juan Lulkin
 
What's Inside the Box from PAPIs.io 2018
Ray Deck
 
Quick tour of PHP from inside
julien pauli
 
Pari sekalaista diaa ja F#-Referenssejä
Tuomas Hietanen
 
Unix Basics
Dr.Ravi
 
Bash production guide
Adrien Mahieux
 
Profiling php5 to php7
julien pauli
 

More from Phil Sturgeon (10)

PPTX
API Pain Points (PHPNE)
Phil Sturgeon
 
PPT
Api pain points
Phil Sturgeon
 
PPT
Api pain points
Phil Sturgeon
 
PDF
Become Master of Your Own Universe - DIBI 2013
Phil Sturgeon
 
PDF
Laravel and Composer
Phil Sturgeon
 
KEY
Why I &lt;3 Laravel 4
Phil Sturgeon
 
KEY
CodeIgniter 3.0
Phil Sturgeon
 
KEY
Cms expo
Phil Sturgeon
 
KEY
Introduction to Fuel
Phil Sturgeon
 
KEY
Running an Open-Source CodeIgniter project
Phil Sturgeon
 
API Pain Points (PHPNE)
Phil Sturgeon
 
Api pain points
Phil Sturgeon
 
Api pain points
Phil Sturgeon
 
Become Master of Your Own Universe - DIBI 2013
Phil Sturgeon
 
Laravel and Composer
Phil Sturgeon
 
Why I &lt;3 Laravel 4
Phil Sturgeon
 
CodeIgniter 3.0
Phil Sturgeon
 
Cms expo
Phil Sturgeon
 
Introduction to Fuel
Phil Sturgeon
 
Running an Open-Source CodeIgniter project
Phil Sturgeon
 
Ad

Recently uploaded (20)

PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
PPTX
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Kubernetes - Architecture & Components.pdf
geethak285
 
PPTX
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
PDF
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
PPTX
Wondershare Filmora Crack Free Download 2025
josanj305
 
PDF
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Pipeline Industry IoT - Real Time Data Monitoring
Safe Software
 
2025 HackRedCon Cyber Career Paths.pptx Scott Stanton
Scott Stanton
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Kubernetes - Architecture & Components.pdf
geethak285
 
01_Approach Cyber- DORA Incident Management.pptx
FinTech Belgium
 
GDG Cloud Southlake #44: Eyal Bukchin: Tightening the Kubernetes Feedback Loo...
James Anderson
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Wondershare Filmora Crack Free Download 2025
josanj305
 
Introducing and Operating FME Flow for Kubernetes in a Large Enterprise: Expe...
Safe Software
 
Practical Applications of AI in Local Government
OnBoard
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
WSO2
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Ad

PHP-FIG: Past, Present and Future