SlideShare a Scribd company logo
Sudar Muthu | @sudarmuthu #WCMumbai
Developer Tools to
increase your Productivity
as a WordPress Developer
Sudar Muthu (@sudarmuthu)
http://sudarmuthu.com
Sudar Muthu | @sudarmuthu #WCMumbai
Me
• Programming in PHP for more than a decade and in
WordPress for about 8 years.
• Big fan of automating process and workflows.
• Contributor to a couple of open source projects
including WordPress.
• Released about 2 dozen plugins in WordPress.
• Remote worker at 10up (and yes 10up is hiring :) )
Sudar Muthu | @sudarmuthu #WCMumbai
What about you?
• Are you a developer?
• What is your experience with PHP and WordPress?
• What is your typical development environment?
• Do you prefer GUI tools or cli tools?
• What are your expectations out of this talk?
Sudar Muthu | @sudarmuthu #WCMumbai
IDE
Sudar Muthu | @sudarmuthu #WCMumbai
https://xkcd.com/378/
Sudar Muthu | @sudarmuthu #WCMumbai
IDE
• I have used vim extensively and recently moved to
PhpStorm (still use vim mode)
• Move away from generic text editors and prefer an IDE.
• Look for WordPress integration.
• Look for integration with other dev tools that you use
(phpcs, wp-cli etc)
• Look for xDebug support.
• Pick one that you are comfortable with.
Sudar Muthu | @sudarmuthu #WCMumbai
Demo
Sudar Muthu | @sudarmuthu #WCMumbai
Local Development
Environment
Sudar Muthu | @sudarmuthu #WCMumbai
Local Development
Environment
• I use VVV and FlyWheel
• VVV for having a local environment that resembles
production as much as possible using vv.
• I use FlyWheel to quickly create sites with different
PHP versions (especially PHP 5.2)
Sudar Muthu | @sudarmuthu #WCMumbai
Local Development
Environment
• Pick something where you can easily create new
sites.
• Ability to replicate production environment as
closely as possible will be a plus.
• Don’t ever install PHP directly on Windows.
• Other popular options include Wamp, Xamp etc.
Sudar Muthu | @sudarmuthu #WCMumbai
xDebug
Sudar Muthu | @sudarmuthu #WCMumbai
xDebug
• PHP extension that allows you to step through code
for debugging. Very powerful.
• I use it with VVV and PhpStorm.
• Helped me to debug lot of complex problems.
• Use IDE integrations to save time.
Sudar Muthu | @sudarmuthu #WCMumbai
Demo
Sudar Muthu | @sudarmuthu #WCMumbai
wp-cli
Sudar Muthu | @sudarmuthu #WCMumbai
wp-cli
• I use wp-cli extensively for normal day to day
operations. Saves me lot of time.
• wp-cli shell opens an interactive shell. Very handy
to quickly test some logic or read options/transient
etc.
• wp-cli ssh can be used to run commands on a
remote server.
Sudar Muthu | @sudarmuthu #WCMumbai
Demo
Sudar Muthu | @sudarmuthu #WCMumbai
PHP CodeSniffer
Sudar Muthu | @sudarmuthu #WCMumbai
PHP CodeSniffer
• Static code analyser that captures common code
problems.
• Use a custom phpcs standard for your project on
top of WordPress standard.
• Integrate it with your IDE or with git using pre-
commit hook.
• I use it with both PhpStorm and vim.
Sudar Muthu | @sudarmuthu #WCMumbai
Demo
Sudar Muthu | @sudarmuthu #WCMumbai
PHPUnit
Sudar Muthu | @sudarmuthu #WCMumbai
PHPUnit
• Unit testing framework used by WordPress core.
• Definitely check WordPress core unit tests.
• Set it up using wp-cli (Don’t try to set it manually)
• Refer to my talk about Unit testing for WordPress at
WordCamp Pune.
Sudar Muthu | @sudarmuthu #WCMumbai
Closing Remarks
• Use something that you are comfortable with.
• Always try to automate as much as possible.
• Have fun :)
Sudar Muthu | @sudarmuthu #WCMumbai
Thank You
@sudarmuthu
http://sudarmuthu.com
https://github.com/sudar

More Related Content

What's hot

WPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin DevelopmentWPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin DevelopmentCaldera Labs
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
WordCamp Sydney
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
Josh Lee
 
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
Peter Elmered
 
WordPress Coding Standards
WordPress Coding StandardsWordPress Coding Standards
WordPress Coding StandardsCurtiss Grymala
 
Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!
Bronson Quick
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
Christian Güdemann
 
Using Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websitesUsing Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websites
Anna Ladoshkina
 
Create a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordCreate a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single word
Nik Cree
 
Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?
Peter Baylies
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in Wordpress
Exove
 
Ryan Markel - WordCamp US 2017
Ryan Markel - WordCamp US 2017Ryan Markel - WordCamp US 2017
Ryan Markel - WordCamp US 2017
ryanmarkel
 
Ryan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Review
ryanmarkel
 
Intro to wordpress short course
Intro to wordpress short courseIntro to wordpress short course
Intro to wordpress short coursecarishurd
 
That worked before
That worked beforeThat worked before
That worked before
Christian Güdemann
 
Drupal and contribution (2010 - 2011 / 2)
Drupal and contribution (2010 - 2011 / 2)Drupal and contribution (2010 - 2011 / 2)
Drupal and contribution (2010 - 2011 / 2)
Peter Arato
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
Scott Taylor
 
Top 8 Tools To Optimize Your Work Day!
Top 8 Tools To Optimize Your Work Day!Top 8 Tools To Optimize Your Work Day!
Top 8 Tools To Optimize Your Work Day!
Manny Sarmiento
 
10 things to do to speed up your site
10 things to do to speed up your site10 things to do to speed up your site
10 things to do to speed up your site
Indigo Tree Digital
 

What's hot (20)

WPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin DevelopmentWPSessions Composer for WordPress Plugin Development
WPSessions Composer for WordPress Plugin Development
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
 
Automate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.jsAutomate your WordPress Workflow with Grunt.js
Automate your WordPress Workflow with Grunt.js
 
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
Advanced Custom Fields(ACF) + Page Builder at WordPress meetup Stockholm 2016...
 
WordPress Coding Standards
WordPress Coding StandardsWordPress Coding Standards
WordPress Coding Standards
 
Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!Debugging WordPress Core and Plugins!
Debugging WordPress Core and Plugins!
 
Open NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and mattersOpen NTF OpenSource is collaboration at its best and matters
Open NTF OpenSource is collaboration at its best and matters
 
Using Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websitesUsing Composer to create manageable WordPress websites
Using Composer to create manageable WordPress websites
 
Create a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single wordCreate a newsletter in less than 17 minutes without writing a single word
Create a newsletter in less than 17 minutes without writing a single word
 
Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?Debugging and Profiling in WordPress: What is My Site Doing?
Debugging and Profiling in WordPress: What is My Site Doing?
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in Wordpress
 
Ryan Markel - WordCamp US 2017
Ryan Markel - WordCamp US 2017Ryan Markel - WordCamp US 2017
Ryan Markel - WordCamp US 2017
 
Ryan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Review
 
Intro to wordpress short course
Intro to wordpress short courseIntro to wordpress short course
Intro to wordpress short course
 
That worked before
That worked beforeThat worked before
That worked before
 
Drupal and contribution (2010 - 2011 / 2)
Drupal and contribution (2010 - 2011 / 2)Drupal and contribution (2010 - 2011 / 2)
Drupal and contribution (2010 - 2011 / 2)
 
WordPress 4.4 and Beyond
WordPress 4.4 and BeyondWordPress 4.4 and Beyond
WordPress 4.4 and Beyond
 
Top 8 Tools To Optimize Your Work Day!
Top 8 Tools To Optimize Your Work Day!Top 8 Tools To Optimize Your Work Day!
Top 8 Tools To Optimize Your Work Day!
 
Dynamic Website
Dynamic WebsiteDynamic Website
Dynamic Website
 
10 things to do to speed up your site
10 things to do to speed up your site10 things to do to speed up your site
10 things to do to speed up your site
 

Viewers also liked

Writing PHP – The WordPress Way! by Rahul Bansal @WordCamp Mumbai 2017
Writing PHP – The WordPress Way! by Rahul Bansal  @WordCamp Mumbai 2017Writing PHP – The WordPress Way! by Rahul Bansal  @WordCamp Mumbai 2017
Writing PHP – The WordPress Way! by Rahul Bansal @WordCamp Mumbai 2017
rtCamp
 
Gestión de base de datos Access
Gestión de base de datos AccessGestión de base de datos Access
Gestión de base de datos Access
Alessandra Marin
 
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISISREFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
PSICOLOGIA Y EDUCACION INTEGRAL A.C.
 
Unit testing for WordPress
Unit testing for WordPressUnit testing for WordPress
Unit testing for WordPress
Sudar Muthu
 
Conceptos de neurosis, líbido y trauma
Conceptos de neurosis, líbido y traumaConceptos de neurosis, líbido y trauma
Conceptos de neurosis, líbido y trauma
PSICOLOGIA Y EDUCACION INTEGRAL A.C.
 
Importance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin DevelopersImportance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin Developers
Vishal Kothari
 
Informacion ingles maestria
Informacion ingles maestriaInformacion ingles maestria
Informacion ingles maestria
Flor Lagarejo
 
Aaaaaa
AaaaaaAaaaaa
Aaaaaa
amir salim
 
Resistance in technology change
Resistance in technology changeResistance in technology change
Resistance in technology change
Mahendra Gehlot
 
Anemia ferropenica niños
Anemia ferropenica niñosAnemia ferropenica niños
Anemia ferropenica niños
tatto14
 
Hack 101 at IIT Kanpur
Hack 101 at IIT KanpurHack 101 at IIT Kanpur
Hack 101 at IIT Kanpur
Sudar Muthu
 
Having fun with hardware
Having fun with hardwareHaving fun with hardware
Having fun with hardware
Sudar Muthu
 
Handling clients The human way!
Handling clients The human way!Handling clients The human way!
Handling clients The human way!
Vivek Jain
 

Viewers also liked (13)

Writing PHP – The WordPress Way! by Rahul Bansal @WordCamp Mumbai 2017
Writing PHP – The WordPress Way! by Rahul Bansal  @WordCamp Mumbai 2017Writing PHP – The WordPress Way! by Rahul Bansal  @WordCamp Mumbai 2017
Writing PHP – The WordPress Way! by Rahul Bansal @WordCamp Mumbai 2017
 
Gestión de base de datos Access
Gestión de base de datos AccessGestión de base de datos Access
Gestión de base de datos Access
 
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISISREFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
REFLEXIONES SOBRE LA TEORÍA DEL PSICOANÁLISIS
 
Unit testing for WordPress
Unit testing for WordPressUnit testing for WordPress
Unit testing for WordPress
 
Conceptos de neurosis, líbido y trauma
Conceptos de neurosis, líbido y traumaConceptos de neurosis, líbido y trauma
Conceptos de neurosis, líbido y trauma
 
Importance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin DevelopersImportance of Content Writing & Marketing for Plugin Developers
Importance of Content Writing & Marketing for Plugin Developers
 
Informacion ingles maestria
Informacion ingles maestriaInformacion ingles maestria
Informacion ingles maestria
 
Aaaaaa
AaaaaaAaaaaa
Aaaaaa
 
Resistance in technology change
Resistance in technology changeResistance in technology change
Resistance in technology change
 
Anemia ferropenica niños
Anemia ferropenica niñosAnemia ferropenica niños
Anemia ferropenica niños
 
Hack 101 at IIT Kanpur
Hack 101 at IIT KanpurHack 101 at IIT Kanpur
Hack 101 at IIT Kanpur
 
Having fun with hardware
Having fun with hardwareHaving fun with hardware
Having fun with hardware
 
Handling clients The human way!
Handling clients The human way!Handling clients The human way!
Handling clients The human way!
 

Similar to WordPress Developer tools

Vagrant
VagrantVagrant
Vagrant
Obed N Muñoz
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
Petter Skodvin-Hvammen
 
Build and Deploy a Python Web App to Amazon in 30 Mins
Build and Deploy a Python Web App to Amazon in 30 MinsBuild and Deploy a Python Web App to Amazon in 30 Mins
Build and Deploy a Python Web App to Amazon in 30 Mins
Jeff Hull
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
Wan Leung Wong
 
WordCamp Nagpur 2022 - Maitreyie Chavan.pptx
WordCamp Nagpur 2022 - Maitreyie Chavan.pptxWordCamp Nagpur 2022 - Maitreyie Chavan.pptx
WordCamp Nagpur 2022 - Maitreyie Chavan.pptx
MaitreyieChavan1
 
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
Alexander Gounder
 
Git In One Evening
Git In One EveningGit In One Evening
Git In One Evening
Maxwell Pearl
 
Front end Tips Tricks & Tools
Front end Tips Tricks & ToolsFront end Tips Tricks & Tools
Front end Tips Tricks & Tools
Sandeep Ramgolam
 
Learning to code
Learning to codeLearning to code
Learning to code
Sara-Jayne Terp
 
Task runners + theming automating your workflow
Task runners + theming  automating your workflowTask runners + theming  automating your workflow
Task runners + theming automating your workflow
Joshua Gilmer
 
Puppet - Configuration Management Tool
Puppet - Configuration Management ToolPuppet - Configuration Management Tool
Puppet - Configuration Management Tool
Aswin Barath
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology Support
YouSee
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
Gregg Coppen
 
Introduction of Open Source Job Board with Drupal CMS
Introduction of Open Source Job Board with Drupal CMSIntroduction of Open Source Job Board with Drupal CMS
Introduction of Open Source Job Board with Drupal CMSSammy Fung
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
Matthew Reynolds
 
Building your first plugin
Building your first pluginBuilding your first plugin
Building your first plugin
Scott DeLuzio
 
The swiss knife of a word press developer
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developer
Ivelina Dimova
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 

Similar to WordPress Developer tools (20)

Vagrant
VagrantVagrant
Vagrant
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Build and Deploy a Python Web App to Amazon in 30 Mins
Build and Deploy a Python Web App to Amazon in 30 MinsBuild and Deploy a Python Web App to Amazon in 30 Mins
Build and Deploy a Python Web App to Amazon in 30 Mins
 
How Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your ProjectHow Open Source / Open Technology Could Help On Your Project
How Open Source / Open Technology Could Help On Your Project
 
WordCamp Nagpur 2022 - Maitreyie Chavan.pptx
WordCamp Nagpur 2022 - Maitreyie Chavan.pptxWordCamp Nagpur 2022 - Maitreyie Chavan.pptx
WordCamp Nagpur 2022 - Maitreyie Chavan.pptx
 
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
Contributing to WordPress - Software Freedom Day 2015 (Mumbai)
 
Git In One Evening
Git In One EveningGit In One Evening
Git In One Evening
 
Front end Tips Tricks & Tools
Front end Tips Tricks & ToolsFront end Tips Tricks & Tools
Front end Tips Tricks & Tools
 
Learning to code
Learning to codeLearning to code
Learning to code
 
Task runners + theming automating your workflow
Task runners + theming  automating your workflowTask runners + theming  automating your workflow
Task runners + theming automating your workflow
 
Ice dec05-04-wan leung
Ice dec05-04-wan leungIce dec05-04-wan leung
Ice dec05-04-wan leung
 
Puppet - Configuration Management Tool
Puppet - Configuration Management ToolPuppet - Configuration Management Tool
Puppet - Configuration Management Tool
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology Support
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
 
Introduction of Open Source Job Board with Drupal CMS
Introduction of Open Source Job Board with Drupal CMSIntroduction of Open Source Job Board with Drupal CMS
Introduction of Open Source Job Board with Drupal CMS
 
meetup version of Paving the road to production
  meetup version of Paving the road to production    meetup version of Paving the road to production
meetup version of Paving the road to production
 
Building your first plugin
Building your first pluginBuilding your first plugin
Building your first plugin
 
The swiss knife of a word press developer
The swiss knife of a word press developerThe swiss knife of a word press developer
The swiss knife of a word press developer
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
 

More from Sudar Muthu

A quick preview of WP CLI - Chennai WordPress Meetup
A quick preview of WP CLI - Chennai WordPress MeetupA quick preview of WP CLI - Chennai WordPress Meetup
A quick preview of WP CLI - Chennai WordPress Meetup
Sudar Muthu
 
Unit testing in php
Unit testing in phpUnit testing in php
Unit testing in php
Sudar Muthu
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of things
Sudar Muthu
 
How arduino helped me in life
How arduino helped me in lifeHow arduino helped me in life
How arduino helped me in life
Sudar Muthu
 
Getting started with arduino workshop
Getting started with arduino workshopGetting started with arduino workshop
Getting started with arduino workshop
Sudar Muthu
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry pi
Sudar Muthu
 
PureCSS open hack 2013
PureCSS open hack 2013PureCSS open hack 2013
PureCSS open hack 2013
Sudar Muthu
 
Pig workshop
Pig workshopPig workshop
Pig workshop
Sudar Muthu
 
Arduino Robotics workshop day2
Arduino Robotics workshop day2Arduino Robotics workshop day2
Arduino Robotics workshop day2
Sudar Muthu
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1
Sudar Muthu
 
Hands on Hadoop and pig
Hands on Hadoop and pigHands on Hadoop and pig
Hands on Hadoop and pig
Sudar Muthu
 
Lets make robots
Lets make robotsLets make robots
Lets make robots
Sudar Muthu
 
Capabilities of Arduino (including Due)
Capabilities of Arduino (including Due)Capabilities of Arduino (including Due)
Capabilities of Arduino (including Due)Sudar Muthu
 
Controlling robots using javascript
Controlling robots using javascriptControlling robots using javascript
Controlling robots using javascript
Sudar Muthu
 
Picture perfect hacks with flickr API
Picture perfect hacks with flickr APIPicture perfect hacks with flickr API
Picture perfect hacks with flickr API
Sudar Muthu
 
Hacking 101
Hacking 101Hacking 101
Hacking 101
Sudar Muthu
 
Capabilities of Arduino
Capabilities of ArduinoCapabilities of Arduino
Capabilities of Arduino
Sudar Muthu
 
Introduction to node.js GDD
Introduction to node.js GDDIntroduction to node.js GDD
Introduction to node.js GDD
Sudar Muthu
 
Using Javascript in today's world
Using Javascript in today's worldUsing Javascript in today's world
Using Javascript in today's world
Sudar Muthu
 
Hack u yql-iit-delhi
Hack u yql-iit-delhiHack u yql-iit-delhi
Hack u yql-iit-delhi
Sudar Muthu
 

More from Sudar Muthu (20)

A quick preview of WP CLI - Chennai WordPress Meetup
A quick preview of WP CLI - Chennai WordPress MeetupA quick preview of WP CLI - Chennai WordPress Meetup
A quick preview of WP CLI - Chennai WordPress Meetup
 
Unit testing in php
Unit testing in phpUnit testing in php
Unit testing in php
 
Using arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of thingsUsing arduino and raspberry pi for internet of things
Using arduino and raspberry pi for internet of things
 
How arduino helped me in life
How arduino helped me in lifeHow arduino helped me in life
How arduino helped me in life
 
Getting started with arduino workshop
Getting started with arduino workshopGetting started with arduino workshop
Getting started with arduino workshop
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry pi
 
PureCSS open hack 2013
PureCSS open hack 2013PureCSS open hack 2013
PureCSS open hack 2013
 
Pig workshop
Pig workshopPig workshop
Pig workshop
 
Arduino Robotics workshop day2
Arduino Robotics workshop day2Arduino Robotics workshop day2
Arduino Robotics workshop day2
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1
 
Hands on Hadoop and pig
Hands on Hadoop and pigHands on Hadoop and pig
Hands on Hadoop and pig
 
Lets make robots
Lets make robotsLets make robots
Lets make robots
 
Capabilities of Arduino (including Due)
Capabilities of Arduino (including Due)Capabilities of Arduino (including Due)
Capabilities of Arduino (including Due)
 
Controlling robots using javascript
Controlling robots using javascriptControlling robots using javascript
Controlling robots using javascript
 
Picture perfect hacks with flickr API
Picture perfect hacks with flickr APIPicture perfect hacks with flickr API
Picture perfect hacks with flickr API
 
Hacking 101
Hacking 101Hacking 101
Hacking 101
 
Capabilities of Arduino
Capabilities of ArduinoCapabilities of Arduino
Capabilities of Arduino
 
Introduction to node.js GDD
Introduction to node.js GDDIntroduction to node.js GDD
Introduction to node.js GDD
 
Using Javascript in today's world
Using Javascript in today's worldUsing Javascript in today's world
Using Javascript in today's world
 
Hack u yql-iit-delhi
Hack u yql-iit-delhiHack u yql-iit-delhi
Hack u yql-iit-delhi
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 

WordPress Developer tools

  • 1. Sudar Muthu | @sudarmuthu #WCMumbai Developer Tools to increase your Productivity as a WordPress Developer Sudar Muthu (@sudarmuthu) http://sudarmuthu.com
  • 2. Sudar Muthu | @sudarmuthu #WCMumbai Me • Programming in PHP for more than a decade and in WordPress for about 8 years. • Big fan of automating process and workflows. • Contributor to a couple of open source projects including WordPress. • Released about 2 dozen plugins in WordPress. • Remote worker at 10up (and yes 10up is hiring :) )
  • 3. Sudar Muthu | @sudarmuthu #WCMumbai What about you? • Are you a developer? • What is your experience with PHP and WordPress? • What is your typical development environment? • Do you prefer GUI tools or cli tools? • What are your expectations out of this talk?
  • 4. Sudar Muthu | @sudarmuthu #WCMumbai IDE
  • 5. Sudar Muthu | @sudarmuthu #WCMumbai https://xkcd.com/378/
  • 6. Sudar Muthu | @sudarmuthu #WCMumbai IDE • I have used vim extensively and recently moved to PhpStorm (still use vim mode) • Move away from generic text editors and prefer an IDE. • Look for WordPress integration. • Look for integration with other dev tools that you use (phpcs, wp-cli etc) • Look for xDebug support. • Pick one that you are comfortable with.
  • 7. Sudar Muthu | @sudarmuthu #WCMumbai Demo
  • 8. Sudar Muthu | @sudarmuthu #WCMumbai Local Development Environment
  • 9. Sudar Muthu | @sudarmuthu #WCMumbai Local Development Environment • I use VVV and FlyWheel • VVV for having a local environment that resembles production as much as possible using vv. • I use FlyWheel to quickly create sites with different PHP versions (especially PHP 5.2)
  • 10. Sudar Muthu | @sudarmuthu #WCMumbai Local Development Environment • Pick something where you can easily create new sites. • Ability to replicate production environment as closely as possible will be a plus. • Don’t ever install PHP directly on Windows. • Other popular options include Wamp, Xamp etc.
  • 11. Sudar Muthu | @sudarmuthu #WCMumbai xDebug
  • 12. Sudar Muthu | @sudarmuthu #WCMumbai xDebug • PHP extension that allows you to step through code for debugging. Very powerful. • I use it with VVV and PhpStorm. • Helped me to debug lot of complex problems. • Use IDE integrations to save time.
  • 13. Sudar Muthu | @sudarmuthu #WCMumbai Demo
  • 14. Sudar Muthu | @sudarmuthu #WCMumbai wp-cli
  • 15. Sudar Muthu | @sudarmuthu #WCMumbai wp-cli • I use wp-cli extensively for normal day to day operations. Saves me lot of time. • wp-cli shell opens an interactive shell. Very handy to quickly test some logic or read options/transient etc. • wp-cli ssh can be used to run commands on a remote server.
  • 16. Sudar Muthu | @sudarmuthu #WCMumbai Demo
  • 17. Sudar Muthu | @sudarmuthu #WCMumbai PHP CodeSniffer
  • 18. Sudar Muthu | @sudarmuthu #WCMumbai PHP CodeSniffer • Static code analyser that captures common code problems. • Use a custom phpcs standard for your project on top of WordPress standard. • Integrate it with your IDE or with git using pre- commit hook. • I use it with both PhpStorm and vim.
  • 19. Sudar Muthu | @sudarmuthu #WCMumbai Demo
  • 20. Sudar Muthu | @sudarmuthu #WCMumbai PHPUnit
  • 21. Sudar Muthu | @sudarmuthu #WCMumbai PHPUnit • Unit testing framework used by WordPress core. • Definitely check WordPress core unit tests. • Set it up using wp-cli (Don’t try to set it manually) • Refer to my talk about Unit testing for WordPress at WordCamp Pune.
  • 22. Sudar Muthu | @sudarmuthu #WCMumbai Closing Remarks • Use something that you are comfortable with. • Always try to automate as much as possible. • Have fun :)
  • 23. Sudar Muthu | @sudarmuthu #WCMumbai Thank You @sudarmuthu http://sudarmuthu.com https://github.com/sudar