Slide 1

Slide 1 text

Lucas Mendes | Software Architect | @devsdmf ESSENTIAL TOOLS FOR PHP ARCHITECTS

Slide 2

Slide 2 text

$ whoami

Slide 3

Slide 3 text

PHP ARCHITECT ?

Slide 4

Slide 4 text

A PHP ARCHITECT IS A PERSON THAT CARES ABOUT THE LANGUAGE REPUTATION. Mendes, Lucas ESSENTIAL TOOLS FOR PHP ARCHITECTS

Slide 5

Slide 5 text

12 ESSENTIAL TOOLS

Slide 6

Slide 6 text

1. PHP KNOW YOUR LANGUAGE

Slide 7

Slide 7 text

2. SPL SCREW DRIVERS, HAMMER, PLIERS… ALL IN YOUR TOOLBOX

Slide 8

Slide 8 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 2. SPL - SCREW DRIVERS, HAMMER, PLIERS… ALL IN YOUR TOOLBOX ▸ Data Structures ▸ Iterators ▸ Interfaces ▸ Exceptions ▸ File Handling

Slide 9

Slide 9 text

3. STANDARDS PHP-FIG MADE IT EASY

Slide 10

Slide 10 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 3. STANDARDS - PHP-FIG MADE IT EASY

Slide 11

Slide 11 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 3. STANDARDS - PHP-FIG MADE IT EASY

Slide 12

Slide 12 text

4. FRAMEWORKS AND COMPONENTS A WHEEL IS ALWAYS ROUND

Slide 13

Slide 13 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 4. FRAMEWORKS AND COMPONENTS - A WHEEL IS ALWAYS ROUND

Slide 14

Slide 14 text

5. DEPENDENCY MANAGEMENT ORGANIZE EXTERNAL DEPENDENCIES

Slide 15

Slide 15 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 5. DEPENDENCY MANAGEMENT - ORGANIZE EXTERNAL DEPENDENCIES

Slide 16

Slide 16 text

6. TEST FRAMEWORKS CODE WITH CONFIDENCE

Slide 17

Slide 17 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 6. TEST FRAMEWORKS - CODE WITH CONFIDENCE

Slide 18

Slide 18 text

7. DEBUGGER FINDING THE SOURCE OF THE PROBLEM

Slide 19

Slide 19 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 7. DEBUGGER - FINDING THE SOURCE OF THE PROBLEM ▸ DBG ▸ xDebug ▸ APD ▸ FirePHP

Slide 20

Slide 20 text

8. PROFILER SPEED IS IMPORTANT

Slide 21

Slide 21 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 8. PROFILER - SPEED IS IMPORTANT ▸ Blackfire.io (SensioLabs) ▸ xDebug ▸ XHProf ▸ Z-Ray

Slide 22

Slide 22 text

9. BUILD TOOL DO LESS MONKEY JOB

Slide 23

Slide 23 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 9. BUILD TOOLS - DO LESS MONKEY JOB ▸ GNU “stack”: autoconf, automake, make, libtool, m4… ▸ Phing ▸ Taskphp ▸ Any other generic build tool!

Slide 24

Slide 24 text

10. DOCUMENTATION HELP OTHERS HELP YOURSELF

Slide 25

Slide 25 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 10. DOCUMENTATION - HELP OTHERS HELP YOURSELF ▸ phpDocumentor ▸ phpDox ▸ Sami ▸ ApiGen

Slide 26

Slide 26 text

11. VERSION CONTROL CONTROL YOUR DEVELOPMENT HISTORY

Slide 27

Slide 27 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 11. VERSION CONTROL - CONTROL YOUR DEVELOPMENT HISTORY

Slide 28

Slide 28 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 11. VERSION CONTROL - CONTROL YOUR DEVELOPMENT HISTORY

Slide 29

Slide 29 text

12. DEPLOYMENT DELIVERY VALUABLE STUFF TO YOUR CUSTOMERS

Slide 30

Slide 30 text

ESSENTIAL TOOLS FOR PHP ARCHITECTS 12. DEPLOYMENT - DELIVERY VALUABLE STUFF TO YOUR CUSTOMERS ▸ Docker ▸ Capistrano ▸ Ansible ▸ Chef ▸ So many others…

Slide 31

Slide 31 text

13. API SPEC BONUS TOOL!

Slide 32

Slide 32 text

QUESTIONS ?

Slide 33

Slide 33 text

THANK YOU! Lucas Mendes
 Software Architect at Tienda Nube
 about.me/devsdmf We're hiring, join the crew! 
 bit.ly/work-at-tiendanube